关于空格的输入老是混淆,总结下来,方便以后查看。
字符
char ch;
输入:
cin>>ch //只能输入非空格非回车字符
scanf("%c",&ch);//可以输入任意字符
ch = getchar();//可以输入任意字符
输出:
cout<<ch;//输出一个字符
printf("%c",ch);//输出一个字符
putchar(ch);//输出一个字符
字符串
char buf[100];
输入:
cin>>buf;//输入字符串,以空格、回车结束,不清除结束符
gets(buf);//输入一个字符串,可以包含空格,以回车结束,清除结束符
cin.getline(buf,100)//输入一个字符串,可以包含空格,以回车结束,清除结束符
getline(cin,buf)//输入一个字符串,可以包含空格,以回车结束,清除结束符
输出:
cout<<buf;//输出字符串
scanf("%s",buf);//输出字符串
puts(buf);//向屏幕输出字符串,并换行
字符
char ch;
输入:
cin>>ch //只能输入非空格非回车字符
scanf("%c",&ch);//可以输入任意字符
ch = getchar();//可以输入任意字符
输出:
cout<<ch;//输出一个字符
printf("%c",ch);//输出一个字符
putchar(ch);//输出一个字符
字符串
char buf[100];
输入:
cin>>buf;//输入字符串,以空格、回车结束,不清除结束符
gets(buf);//输入一个字符串,可以包含空格,以回车结束,清除结束符
cin.getline(buf,100)//输入一个字符串,可以包含空格,以回车结束,清除结束符
getline(cin,buf)//输入一个字符串,可以包含空格,以回车结束,清除结束符
输出:
cout<<buf;//输出字符串
scanf("%s",buf);//输出字符串
puts(buf);//向屏幕输出字符串,并换行