问题 填空题

下面程序段的输出结果是______。
#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的值被改变*/

单项选择题
单项选择题