A-A+
有以下程序 main () { int i=0 s=0; do{ if(i%2) {i++;
问题详情
有以下程序 main () { int i=0,s=0; do{ if(i%2) {i++;continue; } i++; s+=i; while (i<7); printf ("%dn" , s ); } 执行后输出的结果是
A.16
B.12
C.28
D.21请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:A
解析:在循环体中有一条if语句,其后面表达式为“i%2”,当i的值为奇数时,其值为真,执行其后面的语句,i的值加1,重新开始循环,当i的值为偶数时,“i%2”为假,执行“i++;s+1”。在循环中i为偶数时的值分别为0、2、4、6,加1过后的值分别为1、3、5、7,s中存放的是它们的和,值为16.所以,A选项为所选。