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

admin2009-04-15  21

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

最新回复(0)