C++编程中这个(x++=y++)为什么是错的

如题所述

第1个回答  2012-01-03
i++ 这种形式是不能出现在赋值的左侧的。
++i是允许出现的。本回答被网友采纳
第2个回答  2012-01-03
x++返回的是一个临时对象(右值),不能给赋值的。
第3个回答  2012-01-03
如果x,y都是变量不是常量的话,语法上没有错误啊,你是说什么错了啊?
第4个回答  2012-01-03
if()里面吧?
做比较要用双等号,==。
单等号 = 是赋值。

在C语言中,为什么x++=y++是错误的,而++x=++y是正确的?
x++有两个地址,一个是x本身的地址,还有个x+1后的地址,所以它不能作为左值,y++不能赋给一个地址不确定的变量。所以会出错,而++x,只有一个地址,就是x+1后的地址,所以能将y+1后的值赋给它,所以是正确的,楼主应该是没明白前++和后++的意义,多看看教材理解理解。

x,y 都是int, x++=y++ 为什么错?
语法错误,x++等价于x=x+1,也就是说,它是个表达式,而C规定不能对表达式赋值,所以出错。x+=y++ 倒是可以,它等价于x=x+y; 已赞过 已踩过< 你对这个回答的评价是? 评论 收起

C语言求大神!c=x++||y++,为什么最后的xy不等?
因为这是||或运算,第一个为真的话,第二个就不执行了 所以因为x为真所以y++就不会执行 最后就得到x=2,y=1,c=1了

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

int y = 1; int x =2; x+++++y=? 还有 int = 1; i+++++i=?
x+++++y非法的也能有结果 你看的什么书 这个式子唯一正确的可能是x++ + ++y 但根据大嘴法 这个表达式为x++ ++ +y x++不能当左值 所以是错的 你懂了没

c语言编程中z=(x++,y++)是什么意思? 如果x=1 Y=2 那么z是几 z是按 ...
逗号也是c++中的一种运算符,返回逗号右边表达式的值。所以上述使用方法等价于z=(1,2) = 2。即y++的值赋值给z。注意后自增而不是前自增,后自增优先级高于逗号运算符就可以了。

c语言(x-y)?(x++):(y++)
应该是C,此语句的意思是如果x-y为真 则执行x++,否则执行y++;c语言中非零即为真,所以此题应为C,呵呵!

c++里,x=1,y=2.表达式(x++)+y的值,为什么是三?
(x++)=2这一步说错了。x=1;(x++)的值是1。只是完毕后x的值再变为2。所以,(x++)+y的值就是3。

“C++中,数组只能通过值参数和引用参数两种方式传递函数。”这句话错...
C++中,数组只能通过值参数和引用参数两种方式传递函数。数组不能通过值参数传递函数 C中函数调用是按值传递的,传入参数在子函数中只是一个初值相等的副本,无法对传入参数作任何改动。但实际编程中,经常要改动传入参数的值。这一点我们可以用一个小技巧,即“传入参数的地址而不是原参数本身,当对传入...

C语言中z+=x<y?x++:y++的意思
判断 X<Y 为真 则 z=z+(x++);为假 则 z=z+(y++);

相似回答