int a;
while(cin >> a)
{ }char c;
while(cin >> c)
{ }这两段代码有什么区别?后一个没什么问题。
可是
前一个输入一个非整数字符while就结束了,但是如果后面程序还有要用cin 的,它就跳过不做了大家帮忙解释一下,小弟谢先。
while(cin >> a)
{ }char c;
while(cin >> c)
{ }这两段代码有什么区别?后一个没什么问题。
可是
前一个输入一个非整数字符while就结束了,但是如果后面程序还有要用cin 的,它就跳过不做了大家帮忙解释一下,小弟谢先。
cin 可以进行BOOL判断. 如果cin发生了错误,那么 cin 为 false, 循环结束.
第一个cin是读整数,如果输入了非数字字符,则cin的状态就会变为出错, 返回 false. while 就结束了而第二个循环是读字符, 没有这个问题, 它可是以接受所有输入的字符,永远都不会出错
//int -32768 - 32767
while(cin >> a)
{ }
int b;
cin >> b;先输入一字符结束while ,但是 cin >> b;就根本不会再执行了
这是什么原因?跟cin返回false 有关吗?