int x=5 输出x++为什么等于4

if((x--)<5 printf("%d\n",x) else printf("%d\n",x++); 运行结果

我想你是不太清楚++,--是如何运算的
我就以++为例讲一下
++x, ++在前,则先把x加1即x=x+1, 再把x值赋给表达式
x++, x在前,就是先把x值赋给表达式, 再把x加1即x=x+1,
记住++x或x++, 是一个表达式,最后要看表达式的值而不是最后x的值
--也类似

if条件为假,执行完后x=4,接着执行else,表达式的值是4,所以输出4
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-30
必须是四 因为你输入5,x--=4 所以只只执行if,if((x--)<5 printf("%d\n",x)此时x=x--=4,所以输出4,不执行else
第2个回答  2012-07-30
因为,你是(x--)所以先执行括号内的啊,就是x--=4然后判断4<5 所以printf之后 x=4本回答被提问者采纳
第3个回答  2012-07-30
应该输出是5
但是x本身已经是6了
如果是++x输出的是6,x本身也是6
所以建议以后都用前置自增符号,也就是++x
第4个回答  2012-07-30
这是不可能的

int x=5 输出x++为什么等于4
因为你加了括号,先执行括号内的X--就是4 so小雨5直接printf了=。=就是4

int x=5 输出x++为什么等于4
x++, x在前,就是先把x值赋给表达式, 再把x加1即x=x+1,记住++x或x++, 是一个表达式,最后要看表达式的值而不是最后x的值 --也类似 if条件为假,执行完后x=4,接着执行else,表达式的值是4,所以输出4

、 若已定义int x=5; 则下列程序段的运行结果是( )。 if ((x--)<5)
结果输出是 4 if ((x--)<5) \/\/先操作后减,if (5<5)不成立,执行x--, x变为4,然后进入到else,printf("%d\\n",x);else printf("%d\\n",x++); \/\/先操作后加,x=4,所以输出为4

问个简单的c++,设x为int变量,x=5,x+5,x++值为多少?答案说是5
然后算 x+5 虽然x+5的结果是10,但是10并不会被赋到x里去,所以对x没任何影响.最后算x++; 这是右置的++表达式,也就是会先返回x的值,再对x进行+1的操作.所以这个式子会先返回x的值,也就是5,然后再让x = x +1.这时x已经变成6了.但这个式子已经返回了一个值,就是5.而整个逗号表达式是...

main( ) {int x=5; if (x--<5) printf(“%d\\n”, x); else printf(“%d...
然后执行下一条语句,由IF语句为假可知它执行了else printf(“%d\\n”, x++);,同上边一样他也是首先输出了x的值然后x再增一,但增一对输出没影响了所以,调试结果是4而不是你说的3!if(x--<5)改成if(x-2)后他的运算是这样的:首先计算x-2结果为3,(非零,注意这时候x的值还是5...

c++语言中输出x++++为什么会出错
那么我就讲一下~因为x++与++x的区别不仅仅是一个前++,一个后++~还有一点就是x++是有返回值~而++又是从右往左计算的~所以他会报错的~打个比方就是i++之后变成了5,5还能++吗,不行的哦~那么前++是没有返回值的~~所以不管怎么计算都是没有问题的~如果你以后写for语句的时候发现有人写for(...

c语言中X=3,X++等于什么?
X=3,X++ 是由逗号组成的表达式,该表达式的值为3 但该表达式执行结束后,X的值就成了4。原因: 因为X++ 自增在后面,先将X的值作为表达式的值,然后X再自己增加一个。

C#里面 int x=5 int y=(x++)+(++x)+x为什么y这个表达式中后一个x取...
因为x++ 和++x 都是在x这个内存空间上操作 并没有开辟临时的变量空间 所以前面修改了 x 后面读出来的自然是修改后的值 记得采纳啊

有一道c语言的程序题关于++x 和x++的 。。。
自增和自减如果在变量前,表示先自增自减再做操作;如果在变量后,就是先做当前操作再增减。if(x++>=5) x此时是4,和5比,if判断为假,然后x++,x得5 if为假,进入else分支,打印x,就是打印5,然后x--,此时x=4,但是已经打印完了。

为什么输入4后的答案是5,最后一行x--和x难道是同样的效果么。
x++是先传递参数值,然后执行加法。x--类似。因此:输入4;if(x++>5)这个条件4>5不满足,执行else中的语句,同时x++,x=5;printf("%d",x--)先输出x的值,即5,然后x--,x变为4.理解这个意思了没,尽管最后x执行了减法,但是你无法感知了,不信你可以在最后加一句输出x的值,它就是4.

相似回答
大家正在搜