问题
单项选择题
有以下程序int a=2;int f(int *a){return (*a)++;}main( ){ int s=0; { int a=5;s+=f(&a); } s+=f(&a); printf(“%d\n”,s);} 执行后输出结果是()
A.10
B.9
C.7
D.8
答案
参考答案:C
解析:s的两次赋值依次为: s=s+f(&a)=0+5=5;此处的a为局部变量。 s=s+f(&a)=5+2=7;此处的a为全局变量。