请教键盘输入一系列数,然后把它保存到数组,怎么判断输入结束?
请教如何键盘输入一系列数,然后把它保存到数组,怎么判断输入结束,用什么结束符?如果设一个整形数组,但是输入时只能用整形结束符判断,但是整形的又有可能和输入的数重复,请教如何做,本人很菜,请教高手。
[解决办法]
上面的解释一下:cin返回false即可结束while。
什么时候返回false呢,有两种情况会使一个istream对象被
计算为false:读到文件结束或遇到一个无效的值,本例为第二种情况。
参见C++ Primer P877
[解决办法]
那就
int i;
while (scanf( "%d ", &i) )
{
}
参看msdn
[解决办法]
再补充:
应该是while(scanf( "%d ",&i) == 1)
{
}
[解决办法]
一般情况下总能找到一个不可能出现的数值来表示输入结束,如果确实不存在这样的数值,那么就应该使用正规的解决办法,单独设置另一个变量,来表示用户是否还要继续输入。
例如,控制台显示:您是否要输入下一个数值:(Y/N),Y则继续接收用户输入,N则结束输入。