#include func(int a,int b){int c; c=a+b;returnc;}main(){intX

1个回答

  • 这题得16,详细运算结果如下:

    这道题关键点在于r = func (x,x+=2);

    我们首先需要了解的一个知识就是函数传递参数的顺序,在C语言中函数传递其实就是将参数压入被调用函数的栈中,顺序为从右至左,即从最后一个参数倒序传送;

    在你的这个语句中当然就是先传送x+=2了,x+=2等价于x=x+2;所以x=8;然后我们看表达式x=x+2的值,其实它就是x的值,所以func (x,x+=2)就等于了func (8,8);func函数不过是个求和,所以自然就是8+8=16了!