C++中break问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 04:47:03
for(int i=0;i<NUM;i++)
{
cin>>ddd.ID[i];
cout<<"输出信息"<<ddd.ID[i]<<endl;
while(ddd.ID[i]==0)
{break;}
}
怎么跳不出来,17处错误,我看不出哪有问题...
2楼说的我都用过了,还是出错!!!

while(ddd.ID[i]==0)
{break;}

while也是循环结构,是当型循环,当ddd.ID[i]==0为真的时候执行break
break是跳出当前循环,你把它写在while循环结构里它就跳出while循环而不是跳出for循环。

这里应该使用if语句:
if (ddd.ID[i]==0) break;

for(int i=0;i<NUM;i++)
{
cin>>ddd.ID[i];
cout<<"输出信息"<<ddd.ID[i]<<endl;
if(ddd.ID[i]==0) //注意
{break;}
}

将while改为if
还有的就是你的ddd是不是类的对象还是结构体,如果是类的对象的话,直接给私有型的成员数据赋值就会错误。
还是把你的所有编的都拿出来看看再说,就这几行,看不出来。

fletin讲的好