全部问题 > 当前问题

为什么k>10为假?

为什么k>10为假?

罗雨桐 2017-12-8 16:54:10

共 1 个回答

qqq 2017-12-12 11:31:26

k一开始是1,进入do循环,因为k%2的结果是1,那么(k%2)!=0就为真,执行continue语句,也就是跳过循环里剩余的语句,直接进行下一次循环的条件判断,也是就判断k>10是否为真,明显为假,那么这个do...while就结束了,最后输出的s当然就是0了。

问题来自: break和continue
以下程序的输出结果是 __【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&gt;10为假,退出循环。因此答案为s=0。