# include <stdio.h>
main()
{
int k=1,s=0;
do
{
if((k%2)!=0)continue;
s+=k;k++;
}while(k>10);
printf("s=%d\n",s);
}
为什么这个程序最终输s=0?
continue的作用是跳出本次循环,进行下一次循环。
我说说我对这个程序的理解:
第一次循环,k=1,(k%2)!=0成立,continue跳出本次循环,k不变,
第二次循环k还是1……k>10不可能成立,程序不就死循环了吗?
但为什么它只进行了第一次循环就输出s=0了?我的理解错在哪?
do
{
if((k%2)!=0)continue;
s+=k;k++;
}while(k>10);
C、Java,MATLAB语言中,continue语句一般形式为"continue;"
在C++、C#中有所使用。
其作用为结束本次循环。即跳出循环体中下面尚未执行的语句,对于while循环,继续求解循环条件。而对于for循环程序流程接着求解for语句头中的第三个部分expression表达式。
扩展资料:
注意
1.break可以在if-else中使用直接跳出当前循环。
2. 在多层循环中, 一个break语句只向外跳一层。
continue语句的作用是跳过循环体中剩余的语句并到循环末尾而强行执行下一次循环。
continue语句只用在for、while、do-while等循环体中, 常与if条件语句一起使用, 用来加速循环。