问题 单项选择题

有以下程序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为全局变量。

单项选择题
单项选择题