求问这个为什么会输入成功呢
int a[maxsize];
for(int i=1;i!='#';i++)
cin>>a[i];
我这里明明输入的是数组元素,然后把i和#比较,当我输入#的时候跳出循环了。。为什么,我输出试验了一下,确实输入进去了。。。 新手要被折磨死了。。。
[解决办法]
这个容易理解,流提取符在这里只能提取int型数,当你输入#时,无法转化为int型数,就会出错,你输入&,%,$任何字符都会导致出错.
[解决办法]
其实输入‘#’循环应该没有退出的,只是将循环执行完而以,不信你可以在循环外打印一下i的值,应该是和#的ascii码值是相同的,是35
cin>>a[i] 只接受数字,当输入‘#’时,便会读入失败,循环继续,直到结束,在这个过程中cin一值在读‘#’号,但因为它不是数字,所以cin一直没有成功!