#include <iostream>
using namespace std;
int main(){
int a ;
scanf("%d",&a);
printf("%d\n",a);
long long aa;
scanf("%lld",&aa); //长整数
printf("%lld\n",aa);
double b;
scanf("%lf",&b); // %f 用于float类型 ,%lf 用于double类型
printf("%.2f\n",b); //保留两位小数
while(getchar()!='\n'); //用于清空输入缓冲区中的剩余字符(包括换行符 \n),直到遇到换行符为止。不然可能会上面输入被读取而无法获取字符的输入
char c;
scanf("%c",&c);
printf("%c\n",c);
while(getchar()!='\n');
char e[100];
//scanf()1弊端注意:获取字符串输入时在遇到空格、制表符或换行符时会停止读取,这意味着它无法读取包含空格的完整句子。
//scanf("%s",e); //比如输入 "abc de" 输出 "abc"
//gets() 2弊端:不会检查输入的字符串长度是否超过数组的大小,很容易导致缓冲区溢出。已被废弃
//gets(e);
// scanf_s() gets_s()两个安全函数 并不是所有编译器都支持
//char str[50]; scanf_s("%49s", str, (unsigned)sizeof(str)); //最后一个参数指明缓冲区大小
//char str[50]; gets_s(str,sizeof(str));
/*
fgets() 函数有三个参数:存储字符串的数组、最大读取的字符数(包括空字符)
和输入流(这里使用 stdin 表示标准输入)。
fgets() 的优点包括:
1.可以安全地读取指定长度的字符串,避免缓冲区溢出。
2.可以读取包含空格的完整行。
3.如果输入的字符串过长,fgets() 会自动截断,而不会造成安全问题。
*/
fgets(e, sizeof(e), stdin);
printf("%s",e);
return 0;
}
#include <iostream>
using namespace std;
//c++ 中的字符和字符串输入输出
int main(){
char c;
cin >> c;
cout << c << endl;
string s1;
cin >> s1; //使用cin >> str 遇到空白字符会停止读取
cout << s1 << endl;
//用于清空输入缓冲区中的剩余字符(包括换行符 \n),直到遇到换行符为止。
//不然可能会上面输入被读取而无法获取后续输入
while(getchar()!='\n');
string s2;
getline(cin,s2); //getline 会读取整行,包括空白字符
cout << s2 << endl;
const int MAX_LENGTH = 100;
char str[MAX_LENGTH];
cout << "请输入字符串: ";
cin.getline(str,MAX_LENGTH);// 使用cin.getline读取整行,包括空格
cout << "你输入的字符串是: " << str << endl;
return 0;
}
2137

被折叠的 条评论
为什么被折叠?



