下面程序的输出结果是( )。 #include"stdio.h" int sub(int m) { static a=4; a+=m; return a; } void main() { int i=2

admin2013-02-23  45

问题 下面程序的输出结果是(  )。    #include"stdio.h"    int sub(int m)    {  static a=4;    a+=m;    return a;    }    void main()    {  int i=2,j=1,k;    k=sub(i);    k=sub(j);    printf("%d",k);    }

选项 A、6
B、7
C、8
D、9

答案2

解析 在函数sub()的函数体中定义了一个静态存储变量a,a的值在函数调用完毕返回主函数后仍存在。第一次调用sub(i), a=a+m=4+2=6,返回值为6。第二次调用sub(j),a=a+m=6+1=7,返回值为7,最后输出k的值为7。
转载请注明原文地址:https://kaotiyun.com/show/o7Pp777K
0

最新回复(0)