关于C语言中continue 的用法?

# 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条件语句一起使用, 用来加速循环。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-22
do
{
if((k%2)!=0)continue;
s+=k;k++;
}while(k>10);
while(k>10)的意思是当k大于10时才进行下次循环,若不满足该条件则跳出循环,所以第一次k=1continue语句执行,程序会跳过循环体中未执行的语句,然后进行判断环节,判断k<10,循环结束,打印输出本回答被提问者采纳
第2个回答  2020-05-24
for(i=0;i<n;i++)
{
if(i%2==0)
continue;//表示如果i是偶数,跳到下个循环(即i+1时的循环)。
else
printf("%d\n",i);//否则就输出奇数。
}
要区别于break,break是符合条件直接跳出循环,不再执行循环操作。continue是跳到下一循环,执行下步循环操作
第3个回答  2019-07-24
continue跳出一层循环,进行下一步。比如它在一个for循环内,则跳出该循环。进入下一程序步。
break跳出两层循环,进行下一步。比如它在两个for循环内,则直接跳到外层循环外,进入下一个程序步。
for(
...;.
;.)
{
for(
;
;
)
{
条件:
break;
}
}
//直接跳出循环到这里
return
返回函数值。
void类型函数不反悔任何类型数据。只写return;
第4个回答  2009-09-16
第一次循环,k=1,(k%2)!=0成立,continue跳出本次循环,然后就进行判断啊!执行while语句,循环只执行一次啊!!
相似回答