a+++++b是什么意思?C语言
展开全部
编译器里关于运算符的判定有个“贪心法”,也叫“大嘴法”,就是如果遇到一个">",编译器会再往后读一个字符,如果下个字符是"=",编译器就会判定遇到了一个“>=”,同样,如果遇到一个“+”,也要往后读一个字符,如果下个字符是“+”,则解释成“++”,所以对这个例子,编译器会识别成(a++)++
但a++不能作为左值,不能为其赋值,所以(a++)++这样写是不正确的,编译器不会把a++后面的符号解释成++,所以这样写唯一有意义的解释就是(a++)
+
(b++),其实这样写是错误的,实际编程过程中绝对不要这样写,而且Dennis
Ritchie当时创造C语言时也不会想到一个++,--会被我们折磨成这样吧,所以这样的问题理解一下就可以了,不要老是钻这样问题,编程时你要这样写会被骂死的……
但a++不能作为左值,不能为其赋值,所以(a++)++这样写是不正确的,编译器不会把a++后面的符号解释成++,所以这样写唯一有意义的解释就是(a++)
+
(b++),其实这样写是错误的,实际编程过程中绝对不要这样写,而且Dennis
Ritchie当时创造C语言时也不会想到一个++,--会被我们折磨成这样吧,所以这样的问题理解一下就可以了,不要老是钻这样问题,编程时你要这样写会被骂死的……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询