有以下程序         fun(int x,int y)         { static int m=0,i=2;            i+=m+1; m=i+x+y; return m;         }         main()     

admin2009-03-16  18

问题 有以下程序         fun(int x,int y)         { static int m=0,i=2;            i+=m+1; m=i+x+y; return m;         }         main()         { int j=1,m=1,k;           k=fun(j,m); printf("%d,",k);           k=fun(j,m); printf("%d\n",k);         }       执行后的输出结果是______。

选项 A、5,5
B、5,11
C、11,11
D、11,5

答案B

解析 将j和m的值带入函数fun中,第—次调用完fun()后,m和i的值分别为5和3且要保留,并在第二次调用时使用,这是因为两者都是局部静态变量。所以最后的结果是5和11。
转载请注明原文地址:https://kaotiyun.com/show/JeXp777K
0

最新回复(0)