问题
单项选择题
有以下程序: 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()的作用是形参a为偶数的时候返回0,否则返回1,主函数中首先定义了一个长度为8的一维数组,然后给它部分赋初值{1,3,5,2,4,6)。其他没有赋值的数组元素将自动赋值为0。for循环中,当s[i]不为偶数时,将s[i]相加,所以d的值为d= 1+3+5=9,因此最后输出的d值为9。故4个选项中选项A符合题意。