有以下程序: 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];

admin2010-01-10  17

问题 有以下程序:    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++) d+=s;    printf("%d\n",d);    }    程序运行后的输出结果是(  )。

选项 A、9
B、11
C、19
D、21

答案1

解析 函数f()的作用是形参a为偶数的时候返回0,否则返回1,主函数中首先定义了一个长度为8的一维数组,然后给它部分赋初值{1,3,5,2,4,6)。其他没有赋值的数组元素将自动赋值为0。for循环中,当s不为偶数时,将s相加,所以d的值为d= 1+3+5=9,因此最后输出的d值为9。故4个选项中选项A符合题意。
转载请注明原文地址:https://kaotiyun.com/show/SQWp777K
0

最新回复(0)