有以下程序: #include <stdio. h> int f(int a) return a% 2; } main( ) int s[8] = {1,3,5,2,4,6} ,i,

admin2013-02-23  21

问题 有以下程序:      #include <stdio. h>      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;          prinff( "% d \n", d);     程序运行后的输出的结果是(    ).

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

答案1

解析 在主函数main中,f(s)为for语句的循环终止条件,当f函数返回非零值时,则继续执行循环,否则终止循环,输出d的值。程序的运行步骤为:当i=0时,f(s)返回值为1,执行d+=1,d=1;当i=1时,将s[1];3传给形参变量s,f函数返回a%2=1,执行d=d+ s[1]=1+3=4;当i=2时,将s[2]=5传给形参变量a,f函数返回a%2=1,执行d=d+s[2]= 4+5=9;当i=3时,将a[3]=2传给形参变量a,f函数返回a%2=0,终止循环,输出d的值9。
转载请注明原文地址:https://kaotiyun.com/show/IlPp777K
0

最新回复(0)