#include<stdio.h> int d=1; int fun(int p)

2024-12-03 16:06:36
推荐回答(1个)
回答(1):

结果是61414
最先被执行的是fun(d),因为int d=1,所以实际相当于fun(1)
static int d=5; //d=5,这里的d因为重新定义,所以隐藏了外层的d
d += p; // d=5+1=6;
printf("%d", d); 输出6
return(d); 返回6
得到返回值后,继续执行
fun(a+fun(d)) 即fun(a+6),即fun(8)
static int d=5; //d是静态变量,只初始化一次,这一行不会再执行,它的值是上次的6
d += p; // d=6+8=14
printf("%d", d); 输出14
return(d); 返回14
fun(a+fun(d)) 结果即为14,再遇到main中的printf,再输出一个14,即最终结果为61414