a+++++b是什么意思?C语言

如题所述

就相当于(a++)+(++b)。a++的意思是在当前语句执行完之后执行a=a+1,++b的意思是在当前语句执行之前执行b=b+1。比如说,完整的语句如果是c=a+++++b;

那么,它实际上相当于执行下面三个语句(注意顺序不能变):

b=b+1;

c=a+b;

a=a+1;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-15
编译器里关于运算符的判定有个“贪心法”,也叫“大嘴法”,就是如果遇到一个">",编译器会再往后读一个字符,如果下个字符是"=",编译器就会判定遇到了一个“>=”,同样,如果遇到一个“+”,也要往后读一个字符,如果下个字符是“+”,则解释成“++”,所以对这个例子,编译器会识别成(a++)++
但a++不能作为左值,不能为其赋值,所以(a++)++这样写是不正确的,编译器不会把a++后面的符号解释成++,所以这样写唯一有意义的解释就是(a++)
+
(b++),其实这样写是错误的,实际编程过程中绝对不要这样写,而且Dennis
Ritchie当时创造C语言时也不会想到一个++,--会被我们折磨成这样吧,所以这样的问题理解一下就可以了,不要老是钻这样问题,编程时你要这样写会被骂死的……
相似回答