#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/07/02 17:56:11
![#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 (](/uploads/image/z/7163307-27-7.jpg?t=%23include+func%28int+a%2Cint+b%29%7Bint+c%3B+c%3Da%2Bb%3Breturnc%3B%7Dmain%28%29%7BintX%3D6%2Cr%3Br%23include+func%28int+a%2Cint+b%29%7Bint+c%3B+c%3Da%2Bb%3Breturnc%3B%7Dmain%28%29%7Bint+x%3D+6%2Cr%3Br+%3D+func+%28x%2Cx%2B%3D2%29%3Bprintf+%28%22%25d%5Cn%22%2Cr%29%3B%7DA.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
#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了!