问题 填空题

49. 有以下程序;
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)

执行后的输出结果是

答案

参考答案:G

解析: 如果局部变量与全局变量重名,在局部变量的作用域,全局变量不起作用。所以在main函数中第一次调整函数f时a=5得s=5,第二次调用函数f时a=2得s=5+2=7。函数f在执行语句return(*A) ++时首先返回*A,然后将*A的值加1。

单项选择题 B型题
单项选择题 案例分析题