作业帮 > 综合 > 作业

c语言;设整型变量a,b,c,均为2,则a+++b+++c++?

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/29 06:08:04
c语言;设整型变量a,b,c,均为2,则a+++b+++c++?
我的意思是这么算
a+(++b)+【++(c++)】
为什么不对呢
c语言;设整型变量a,b,c,均为2,则a+++b+++c++?
.你这个写法有错误吧
是这样的c++这个操作,返回的是右值,而++c这种操作要求c必须是左值.所以++(c++),把右值赋给了前++所以错了
楼上说的不对 你把三个加号连着写 具体是当成 ++ + 还是 + ++,这个是看编译器是从左还是从右开始匹配的,所以规范起见加括号,有些程序员则喜欢打空格分开
再问: 左?? 右??,我刚学,不明白
再答: 至于题目d=a+++b+++c++ 我的电脑编译器是从左匹配的,它找到一个加号会继续找有木有下一个加号,所以会当成 (a++)+(b++)+(c++) 若a,b,c都位2最后a,b,c,d分别3,3,3,6 左值简单说就是具体的变量,可以在等号左边的值,右值简单说就是只能在等号右边的值,一个。。普通的临时值。因为 c++这个操作的内部实现是,把变量加1并返回加1之前的值,所以(c++)返回的是一个值而不是c这个变量,所以不能被++c 就像你不能(++2)一样 额。。。这样说你懂了么