项链品牌最贵:这个程序会进入死循环吗?为什么?

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 22:41:54
main()
{ int i=0,x=0;
for (;;)
{ if(i==3||i==5)continue;
if(i==6)break;
i++;
s+=i;
};
printf("%d\n",s);
}

程序的输出结果是( )
A. 10 B 13 C. 21 D 进入死循环

会进入死循环,因为i永远不会等于6,只会在i==3这里无限循环

i++的自增表达式在下面,当i==3的时候,就会无限continue了

continue;当I==3或5时不会执行以下语句
只会不停的重复continue前的语句

if(i==3||i==5)continue;
改为:
if(i==3||i==5){i++;continue;}

会啊 因为当i==3时会结束当前循环。会跳道for的判断语句,但是i还是等于3所以一直死循环啊

因为break命令只在本语句段中作用
for(;;)命令导致了无限循环