本题中的continue与课上老师讲的功能有出入?疑惑~
do{
if((k%2)!=0) continue;
s+=k; k++;
}while(k>10);
printf("s=%d\n",s);
continue的功能不是“跳出此次循环,进入下一次循环”吗?!。。。本题中,程序运行到continue这里不就应该停止向下循环,而重新又从do循环的if重新开始吗?!。。。而且这样一来就是一个永远跳不出的,无限重复if的死循环了,,,可能我是对课上老师讲的理解错了,。。应该怎么理解呢?
以下程序的输出结果是 __【9】__ 。
#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);
}
A. s=0
B. s=1
C. s=45
D. s=55
答案:A
解析:k=1,k%2!=0为真,continue,跳出本次循环,进入下次循环。k>10为假,退出循环。因此答案为s=0。