14 运行下面的程序后,其输出结果是___。 main() { int a=6,b=2,c; c

14 运行下面的程序后,其输出结果是___。
main()
{ int a=6,b=2,c;
c=f(a)/f(b);
printf("%d\n",c);
}
int f(int x)
{ int y;
y=x++*x++;
return y;
}
A 9 B 6 C 36 D 18

答案是选择A,也就是输出的是9
c=f(a)/f(b),所以只需要把a和b带入函数int f(int x),函数中的x是a和b。
1、首先f(a)。带入函数后可以直到y=x++*x++,这里的++符号是在x之后的,所以是先执行 y=x*x,后执行x++,所以++符号是不影响y的计算结果的。因为a=6,所以y=6*6=36

2、同理可得到f(b)=4
3、所以c=36/4=9
输出就是9
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-14
A答案, 因为乘号*运算等级比++高,所以Y = 6++ * 6++ = 36;
第2个回答  2015-07-14
会输出9,是答案A。追问

然而并不是

是A

看错了

什么意思啊

追答

int f(int x)
{ int y;
y=x++*x++;
return y;
}
这函数是求x平方的函数,x++是取用x以后才更改的,对函数返回值没有影响。

第3个回答  2015-07-14
aaaaaaaaaaaaaaa追问

不是啊

是A

追答