下列程序的输出结果是int b=2;int func(int *a){ b+=*a; return(b);}main(){ int a=2, res=2; r

14 查阅

下列程序的输出结果是int b=2;int func(int *a){ b+=*a; return(b);}main(){ int a=2, res=2; res += func(&a); printf("%d\n",res);} A.2 B.4

C.6 D.8

参考答案:

C在本题程序中,首先定义了一个全局整型变量b,并给其赋初值为2,然后定义一个函数func,该函数带有一个指针类型的形参,在函数体中,通过形参的值来改变全局变量b的值,b+=*a等价于b=b+(*a),然后通过return语句返回计算后的变量b的结果。在主函数中,定义两个整型变量a和res,并都赋初值为2,然后调用func函数,传递的形参是变量a的地址,即使形参指针变量a指向实参变量a的值,通过b+=*a计算,可以得到b=2+2=4。由于变量b是一个全局变量,作用域是整个程序,而非函数func,因此,在主函

计算机二级