首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求问这个为何会输入成功呢

2013-08-09 
求问这个为什么会输入成功呢int a[maxsize]for(int i1i!#i++)cina[i];我这里明明输入的是数组元

求问这个为什么会输入成功呢
int a[maxsize];
for(int i=1;i!='#';i++)
cin>>a[i];
我这里明明输入的是数组元素,然后把i和#比较,当我输入#的时候跳出循环了。。为什么,我输出试验了一下,确实输入进去了。。。 新手要被折磨死了。。。
[解决办法]
这个容易理解,流提取符在这里只能提取int型数,当你输入#时,无法转化为int型数,就会出错,你输入&,%,$任何字符都会导致出错.
[解决办法]

其实输入‘#’循环应该没有退出的,只是将循环执行完而以,不信你可以在循环外打印一下i的值,应该是和#的ascii码值是相同的,是35

cin>>a[i] 只接受数字,当输入‘#’时,便会读入失败,循环继续,直到结束,在这个过程中cin一值在读‘#’号,但因为它不是数字,所以cin一直没有成功!

热点排行