关于C语言中continue 的用法?

来源:百度知道 编辑:UC知道 时间:2024/05/22 02:04:37
# 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);
while(k>10)的意思是当k大于10时才进行下次循环,若不满足该条件则跳出循环,所以第一次k=1continue语句执行,程序会跳过循环体中未执行的语句,然后进行判断环节,判断k<10,循环结束,打印输出

第一次循环进行到continue时结束了,continue后就是while里的k>10的判断,不符合条件就结束了do {}while()循环,所以s+=k;k++都没运行最后s=0

continue的意思是跳过之后未执行的语句直接进行判断,k<10条件为假,所以结束整个循环

第一次循环,k=1,(k%2)!=0成立,continue跳出本次循环,然后就进行判断啊!执行while语句,循环只执行一次啊!!

continue就是在循环中,提前结束循环体,如:
for(i=1;i<11;i++){if(i%5==0)continue;
s+=i;
}
cout<<s;
因为i=5,10时,s不加i,所以s最终等于40