简单c题(百度的)

来源:百度知道 编辑:UC知道 时间:2024/06/27 06:47:45
x+=x-=x-x--;
说说过程和答案
这个题是百度面试的选择题,选项中没有不同编译器不同的选项。。。
我研究了一下反汇编,知道过程了,答案是7.
不好意思,忘给x的值了,x=4;
算了,结贴了。。。
谢谢各位

x+=x-=x-x--;
表达式可写作:x=x+x-x+x--
先算x--(因为自增,自减运算符(计算顺序:从右到左算的) 优先级高于 算术运算符)
再计算 算术运算符

可以用程序验证
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
x+=x-=x-x--;
printf("%d\n",x);
getch();
return 0;
}
有兴趣加QQ群一起讨论,交流.
66609387

386781634*234659874 =
4*234659874 +
30*234659874+
600*234659874+
...

先 X--
然后 X - (x - 1)
然后 x = x - x - (x -1)
然后 x = x + x - x - (x - 1)

答案是7 很好 你连X的值都没给我们 就告诉我们是7
你要我们反运算X的值?

问题目都不会 还是回去继续深造吧

这个答案不一样的
我上课做过类似的,要看你用的是什么编译器,都不一样的