以下程序的输出结果是______。 int d=1; fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d); } m

admin2013-02-23  29

问题 以下程序的输出结果是______。    int d=1;    fun(int p)    {  static int d=5;       d+=p;       printf("%d  ",d);       return(d);    }    main()    {  int a=3;       printf("%d\n",fun(a+fun(d)));    }

选项 A、699
B、669
C、6 15 15
D、6615

答案4

解析 本题要注意静态变量d。第1次执行fun(d),即fun(1),在函数fun里对静态变量赋初值5,得到d=d+p=5+1=6并输出,返回6;第2次执行fun(a+fun(d)),即fun(3+6)=fun(9),在函数fun中直接执行d=d+p=6+9=15并输出,然后返回15再一次输出。
转载请注明原文地址:https://jikaoti.com/ti/URB0FFFM
0

最新回复(0)