问题
单项选择题
有以下程序
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为全局变量。