这里的++X是自加两次吗
(Y=++X-1, X, Y):
先执行X=X+1=4,即++X;再进行Y=X-1=3;所以答案就是:X=4,Y=3.
(Y=X++ -1, X, Y):
先执行Y=X-1=3-1=2;接着再执行X=X+1=3+1=4;最后就是X=4,Y=2.
先执行X=X+1=4,即++X;再进行Y=X-1=3;所以答案就是:X=4,Y=3.
(Y=X++ -1, X, Y):
先执行Y=X-1=3-1=2;接着再执行X=X+1=3+1=4;最后就是X=4,Y=2.
参考资料:我们的C语言的课本。好好看看书,就明白了!
温馨提示:答案为网友推荐,仅供参考
第1个回答 2008-03-19
++X是 先加1 再运算 并不是加两次
X++是 自身值不变。运算后再加1
Y=++X-1 结果是3 (X先加1。变成4再-1)Y=X++-1 结果是2 (X当时值为3 这条过后X变成4)
X++是 自身值不变。运算后再加1
Y=++X-1 结果是3 (X先加1。变成4再-1)Y=X++-1 结果是2 (X当时值为3 这条过后X变成4)
第2个回答 2008-03-18
++x是就是相当于x=x+1;先给X加1,然后再用X的值
X++就是先用X的值,再给X加1。
X=3,则++X之后X=4,Y=4-1=3,
因为是逗号运算符,逗号运算符的优先级最低,所以,不管前面的是什么值,只看最后一个逗号后的值,则为表达式的值
则(Y=++X-1,X,Y)的值为3,(Y=X++-1,X,Y)的值为 2
X++就是先用X的值,再给X加1。
X=3,则++X之后X=4,Y=4-1=3,
因为是逗号运算符,逗号运算符的优先级最低,所以,不管前面的是什么值,只看最后一个逗号后的值,则为表达式的值
则(Y=++X-1,X,Y)的值为3,(Y=X++-1,X,Y)的值为 2
第3个回答 2008-03-17
这是非常无聊的..
因为菜鸟才会这么用.
不同的解释器有不同的解释.安份的写吧.
因为菜鸟才会这么用.
不同的解释器有不同的解释.安份的写吧.
第4个回答 2008-03-17
Y=++X-1=3-1=2(++x为运算后再加1)
Y=X++-1=4-1=3(x++为先加1再运算)
Y=X++-1=4-1=3(x++为先加1再运算)
第5个回答 2008-03-17
晕,错了啊,++X是先将X自增1然后再取值,X++才是先取X的值运算完再自增一。