在键盘输入多数据时,必须用空格键,Tab键或enter键隔开;
- 不同数据类型的输入: 按数据类型读取数据
当用enter键分隔数据时:
当用空格键分隔时结果是一样的:
- 多数据错误输入情况
当有与数据类型不匹配的数据时:
- 用空格键分隔:按变量数据类型依次读入符合类型的数据
a是整型,先读1,.2还在内存缓冲区,符合第二个浮点型变量,所以读了0.2,数字3可以看做整型也可以看做字符,所以读了给c,后面多余的就不要了。
2.用enter键分隔:
输入两个数,变量读取完之后就不再能输入了,读完直接输出(这时用enter键分隔容易发现问题,因为还没输入完发现不能输入了)
为了解决上一个数据错误,用cin.clear()和cin.sync()两个函数清理数据缓冲区,使得前面数据的错误不影响后面的数据,每个数据都能单独判断类型再输出。
cout<<"Input int double char:";
cin>>a;
cin.clear();
cin.sync();
cin>>b;
cin.clear();
cin.sync();
cin>>c;
运行: