第1个回答 2011-03-25
答案选B。
从main()函数算起,res+=func(&a),执行func()函数后,b的返回值是4,最终结果就等于6
第2个回答 2011-03-25
res=res+func(&a)
这里调用函数func() 传给形参的是地址,因此指针a指向a的地址 在这里相当于把a的值传过去
b+=*a, b=b+*a b=b+2 (这里b是一个全局变量,赋初值2)最后得出 ,b=4 func() 函数返回的值为4 res=res+4, res=6
所以选 c
第3个回答 2011-03-25
B
完整编译代码:
#include<stdio.h>
int b=2;
int func(int *a)
{
b+=*a;
return b;
}
int main(void)
{
int a=2, res=2;
res=func(&a)+res;
//res =res+func(&a);
printf("%d\n",res);
return 0;
}