天天看点

对于cin提取输入流遇到空格的问题

引子老谭CPP教材:

          “流提取符 >> 从流中提取数据时通常跳过流中的空格 tab键换行符等空白字符。”(P430页倒数第10行 13.3.1 cin流)

          “用cin>>  读取数据时遇到空白字符(包括空格 tab键和回车)作为终止字符。”(P436 第一行)

或许有童鞋会问:这两句话 不是矛盾吗?

下边举3个例子,可以看清结果:

eg1:

#include <iostream>
using namespace std;


int main()
{
 int a,b;
 
 cin>>a>>b;
 cout<<a<<"  "<<b<<endl;
 
 return 0;
}

           

输出:

对于cin提取输入流遇到空格的问题

eg2:

#include <iostream>
using namespace std;

int main()
{
	char a[20];
	
	cin>>a;
	cout<<a<<endl;
	
	return 0;
}
           

输出:

对于cin提取输入流遇到空格的问题

eg3:

#include <iostream>
using namespace std;
 
int main()
{
char a[20];
char b[20];
 
cin>>a>>b;
cout<<a<<"  "<<b<<endl;

return 0;
}
           

输出:

对于cin提取输入流遇到空格的问题

想互对比即可解惑。

PS:51 三天假马上过去,投简历--面试 的循环即将开始,加油!

继续阅读