第1个回答 2012-08-12
fun()函数中b是临时变量,每次调用函数都会重新定义,所以执行到return语句的时候b的值永远为5;c是静态变量,在程序初始化时分配空间,直到程序结束才释放,所以c只被定义一次,每次调用fun()其值就会加1;
printf("%d,%d,%d",fun(c),fun(a),fun(fun(c)))从左往右依次执行,又因为调用函数需要先确定其参数,所以执行顺序为:
fun(3):3+5+1=9;
fun(2):2+5+2=9;
fun(3):3+5+3=11;
fun(11):11+5+4=20;
运行结果为:
9,9,20本回答被网友采纳