问题 单项选择题

有以下程序 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,主函数中首先定义了一个长度为8的一维数组,然后给它赋初值使得s[0]=1、s[1]=3、s[2]=5、s[3]=2、 s[4]=4、s[5]=6。其他没有赋值的数组元素将自动赋值为0。for循环中,当s[i]不为偶数的时,将s[i]相加,即当i=3时,s[i]=2为偶数,退出循环,此时d的值为d=s[0]+ s[1]+s[2]=1+3+5=9,因此最后输出的d的值为9。

单项选择题
填空题