逻辑设计图:这个程序会进入死循环吗?为什么?
来源:百度文库 编辑:查人人中国名人网 时间:2024/10/06 20:38:32
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 进入死循环
{ 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(;;)命令导致了无限循环