[求助]不理解~~
mian{
int x=4;
if(x++>5)
print("%d",x);
esle
print("%d",x--);
我不懂为什么答案是5,
(x++>5)x不应该是4吗?为什么是5
----------------解决方案--------------------------------------------------------
你应该多理解一下自增1和自减1
不过不好意思我也是初学者
不过我发现你好想少了一个 \n
不知道是不是
----------------解决方案--------------------------------------------------------
(x++>5)x应该是5啊
自增1 就是x+1再和5做比较啊不过好想是相等哦
----------------解决方案--------------------------------------------------------
也是啊~!?
----------------解决方案--------------------------------------------------------
因为(x++>5)意为将x自加1后与5比较大小,故x值变为5,又此时x不大于5,所以转入else 语句,又x--因为后面不涉及到计算,所以x--其实任为现在的x值,即为5
----------------解决方案--------------------------------------------------------
可以每一步运算完后,把当前x值printf出来,好便于理解。
----------------解决方案--------------------------------------------------------
你好。
X++与X--都是先使用x的值,然后再对 x的值进行变化。
所以执行
if(x++>5)
是,x的值为x, 然后便成5。printf("%d",x--)也是一样。
----------------解决方案--------------------------------------------------------
int x = 4 ;
if( x ++ > 5 )
可以这样理解
int x = 4;
if ( x > 5) and x ++ /// x 先与5比较 后再加一
print ( "% d " , x ) // 加一后 x=5
而 if (++ x > 5) 则 这样理解
x ++;
if (x>5) // x 先加一 再与5比较
print ( ........)
----------------解决方案--------------------------------------------------------
i++:在使用i后,使i的值加1。
这里的使用包括那些运算符(我以前还以为比较不算使用的,郁闷)
看来C的路还很遥远
[此贴子已经被作者于2005-3-17 15:59:36编辑过]
----------------解决方案--------------------------------------------------------