#include func(int a,int b){int c; c=a+b;returnc;}main(){intX=6,r;r#include func(int a,int b){int c; c=a+b;returnc;}main(){int x= 6,r;r = func (x,x+=2);printf ("%d\n",r);}A.14 B.15 C.16 D.17

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 02:05:59
#include func(int a,int b){int c; c=a+b;returnc;}main(){intX=6,r;r#include func(int a,int b){int c; c=a+b;returnc;}main(){int x= 6,r;r = func (x,x+=2);printf (

#include func(int a,int b){int c; c=a+b;returnc;}main(){intX=6,r;r#include func(int a,int b){int c; c=a+b;returnc;}main(){int x= 6,r;r = func (x,x+=2);printf ("%d\n",r);}A.14 B.15 C.16 D.17
#include func(int a,int b){int c; c=a+b;returnc;}main(){intX=6,r;r
#include
func(int a,int b)
{
int c;
c=a+b;
returnc;
}
main()
{
int x= 6,r;
r = func (x,x+=2);
printf ("%d\n",r);
}
A.14 B.15 C.16 D.17

#include func(int a,int b){int c; c=a+b;returnc;}main(){intX=6,r;r#include func(int a,int b){int c; c=a+b;returnc;}main(){int x= 6,r;r = func (x,x+=2);printf ("%d\n",r);}A.14 B.15 C.16 D.17
这题得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了!