问题
单项选择题
有以下程序( ) 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); }