C++中while函数不能执行?帮忙看看哪里出错了!

来源:百度知道 编辑:UC知道 时间:2024/05/24 07:20:44
int i = 0;
char ch[10];
cin>>ch;
while(ch[i]!='\0')
cout<<ch[i++];
结果while 没反应
但如果i先定义换成for(int i =0;ch[i]!='\0';)就可以了
这是怎么回事?难道外部定义的i不能在while的条件中用?

while是关键字,不是函数,我用C-Free 4试过了,while有执行的,没有任何问题,你再试试

可能是i的值在
char ch[10];
cin>>ch;
过程中被改变了,把程序写成
char ch[10];
cin>>ch;
int i = 0;
while(ch[i]!='\0')
cout<<ch[i++];
大概就可以了
外部定义的i可以在while的条件中用,for语句和while语句在功能上是等价的,用for语句可以实现的,while语句都可以实现

while(ch[i]!='\0')
cout<<ch[i++];
改为
while(ch[i]!='\0')
{
cout<<ch[i];
i++;
}

改成
int i = 0;
char ch[10];
for(int i=0;i!=ch.end();++i)
cin>>ch[i];
while(ch[i]!='\0') {
cout<<ch[i];
ch++;
}
还有 在C++中 用容器取代了数组
尽量不要使用数组这样的形式
除非在效率上有额外的要求
我最近也在研究C++
呵呵