问题 单项选择题

有以下程序( ) #include<stdio.h> 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

解析: #include<stdio.h> int a=2: int f(int*A) {return(*A)++;}/*返回值是*A,因为参数传递是地址传递,实参的实际值将被改变*/ main() {int s=0; {inta=5;s+=f(&a);}/*此处使用的a是本段"{}"内所定义的变量a*/ s+=f(&a);/*此处使用的a是全局变量a*/ printf("%d\n",s); }

单项选择题 B1型题
问答题