作业帮 > 综合 > 作业

c语言 int y,x=3;y=(++x)+(++x); 则y=?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/06/02 13:21:20
c语言 int y,x=3;y=(++x)+(++x); 则y=?
答案说此行完后x=5,y=10.
为什么?我怎么觉的y=9呢?
执行后一个++x时,前一个也会执行一次.
先第一个 ++x执行,完了以后x = 4,然后第二个++x执行,x变成了5,此时第一个x也变成了5.
再问: 那要是改为(x++)+(x++)呢?答案又是多少?
再答: 先用x,然后x才会执行++两次,所以y = 6 x还是等于5
再问: 不对呀!按照书上的应该是7 y=7.x=5
再答: y是6,你如果有编译器的话,可以把程序跑下,看看结果。 我机器上安装的是vs2008,还有Dev-c++,跑的结果都是y = 6.
再问: 额 现在真的好蛋疼啊。书上一个例题还带答案过程是7,但我用C++6.0跑出来的也是6.
再答: 书上有时候也会有错误的。呵呵