问题 单项选择题

有以下程序( ) main() {int i,s=0; for(i=1;i<10;i+=2)s+=i+1; printf("%d\n",s); } 程序执行后的输出结果是

A.自然数1~9的累加和

B.自然数1~10的累加和

C.自然数1~9中的奇数之和

D.自然数1~10中的偶数之和

答案

参考答案:D

解析: main() {int i,s=0; for(i=1;i<10;i+=2)/*i的初始值为1,步进值为2,循环条件是i<10*/ s+=i+1;/*从上述循环条件来看,应为求自然数1~9中的奇数之和;但是有意思的是"s+=i+1"改变了现状,"+"的运算优先级别高于"+=",故"1"在每次s的求和运算中都有一份功劳。现实是,每次s的求和运算都多加了一个1,结果就成了自然数1~10中的偶数之和*/ printf("%d\n",s); }

单项选择题
问答题