问题
填空题
下面程序段的输出结果是______。 #include<stdio.h> int b=1: int func(int *a) {*a+=b;return(*a);) main() {int a=2,res=1; res+=func(&a); printf("%d%d\n",a,res);}
答案
参考答案:3 4
解析: #include<stdio.h> int b=1; int func(int *a)/*参数传递采用地址传递的方式,函数本身可改变函数体外的变量的值*/ {*a+=b;return(*a);} main() {int a=2,res=1; res+=func(&a);/*根据函数"func()"的定义,实参必须是变量的地址*/ printf("%d%d\n",a,res);}/*"main()"函数内的变量a的值被改变*/