#include<stdio.h> main() { int i=2,x; x=i++-++i; printf("x=%d, i=%d\n",x,i); }
答案:5 悬赏:40 手机版
解决时间 2021-03-30 09:41
- 提问者网友:疯子也有疯子的情调
- 2021-03-29 09:46
#include<stdio.h> main() { int i=2,x; x=i++-++i; printf("x=%d, i=%d\n",x,i); }
最佳答案
- 五星知识达人网友:痴妹与他
- 2021-03-29 11:18
int i=2,x;
x=i++-++i;
等价于
x=(i++)-(++i);
先取i的值2,取完后i变为3
再取(++i)的值,是先i自增为4,再取得4。
计算2-4=-2,赋值给x。
所以,最后的输出是:
x=-2, i=4
x=i++-++i;
等价于
x=(i++)-(++i);
先取i的值2,取完后i变为3
再取(++i)的值,是先i自增为4,再取得4。
计算2-4=-2,赋值给x。
所以,最后的输出是:
x=-2, i=4
全部回答
- 1楼网友:污到你湿
- 2021-03-29 14:30
同楼上
- 2楼网友:底特律间谍
- 2021-03-29 13:58
首先,运算结果是:x=-2,,=4。
其次,过程是这样的:
x=i++-++i,先算i++,结果是2,此时i=3;++i后的结果是4,此时i=4,所以2-4=-2。
最后,Do you understand?追问首先,我非常感动!!!因为我也是这样的思路,得出这样的结果,但是……我们书上的答案不是这个,因此,我凌乱了,所以才在百度上提问的。追答嗯,是的,你们书上的是0,5吗?
其次,过程是这样的:
x=i++-++i,先算i++,结果是2,此时i=3;++i后的结果是4,此时i=4,所以2-4=-2。
最后,Do you understand?追问首先,我非常感动!!!因为我也是这样的思路,得出这样的结果,但是……我们书上的答案不是这个,因此,我凌乱了,所以才在百度上提问的。追答嗯,是的,你们书上的是0,5吗?
- 3楼网友:举杯邀酒敬孤独
- 2021-03-29 13:04
顶楼上,i++和++i执行一直在C语言中倍受争议,在其他后来的语言中都避免了这种误导。除了蛋疼的老师或者书上会出这种无聊的东西之外,毫无意义,如果非要用,只需要写个小的程序实验一下就知道在什么位置进行运算了追问不懂。。。
还真是我们书上的呢。。。追答x=0,i=4;首先i++,i=3,然后x=i-i,然后++i,i=4。你真心不用理解i++和++i的区别的,哪个程序员没事干会纠结设计者一时兴起的想法呢...一般哪怕是码农级别的,也很多不知道这两者具体区别的....
还真是我们书上的呢。。。追答x=0,i=4;首先i++,i=3,然后x=i-i,然后++i,i=4。你真心不用理解i++和++i的区别的,哪个程序员没事干会纠结设计者一时兴起的想法呢...一般哪怕是码农级别的,也很多不知道这两者具体区别的....
- 4楼网友:平生事
- 2021-03-29 12:05
i++ - ++i这种表达式是被骂的最多的表达式,我不知道你研究的目的是什么,但是这种题目是没有答案的,其结果随着编译器不同也可能不同。如果有书籍出现这种题目,最好立刻把这种书烧了追问这是我们C语音书上的内容。。。追答所以这种书该烧了!!现在很多出书的人水平臭的很,这种是典型的垃圾体,骂了很多年还是有人出追问哎,可是我们都已经是学的这样的书了,能怎么办呢?这是无法改变的事实啊。。。
凌乱了我!追答学校给你的书是学校的错,你自己想学成 什么样子是你的事情。我们无法改变学校(虽然我很希望批评他们,但是影响不了他们),但是你可以自己买本更好的书,自学而已。很多程序员(包括我自己)根本就不是从课堂学习编程的,都是自学的
凌乱了我!追答学校给你的书是学校的错,你自己想学成 什么样子是你的事情。我们无法改变学校(虽然我很希望批评他们,但是影响不了他们),但是你可以自己买本更好的书,自学而已。很多程序员(包括我自己)根本就不是从课堂学习编程的,都是自学的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯