问题
单项选择题
有以下程序 int f(int a) { return a%2; } main( ) { int s[8]={1,3,5,2,4,6},i,d=0; for (i=0;f(s[i]);i++) d+=s[i]; printf("%d\n",d); } 程序运行后的输出结果是()
A、9
B、11
C、19
D、21
答案
参考答案:A
解析:
本题中循环条件为f(s[i]),即f(s[i])的值为非零时执行此循环,而这个自定义函数的即为取2的模返回,只有奇数才返回非零值,所以最后循环执行了三次,d的值为s[0],s[1],s[2]三个值的和,即为9。