a+++++b的含义是什么?
上式唯一有意义的解析方式是:a++ + ++b
可是,我们也注意到,根据“大嘴法”规则,上式应该被分解为:
a++ ++ +b
这个式子从语法上来说是不正确的,它等价于 ((a++)++) + b
但是,a++的结果不能作为左值,因此编译器不会接受a++作为后面的++运算符的操作数。这样,如果我们遵循了解析词法二义性问题的规则,上式的解析从语法上来说又没有意义,当然,在编程实践中,谨慎的做法就是尽量避免使用类似的结构,除非编程者非常清楚这些结构的含义。
a+++++b的含义是什么?
上式唯一有意义的解析方式是:a++ + ++b
可是,我们也注意到,根据“大嘴法”规则,上式应该被分解为:
a++ ++ +b
这个式子从语法上来说是不正确的,它等价于 ((a++)++) + b
但是,a++的结果不能作为左值,因此编译器不会接受a++作为后面的++运算符的操作数。这样,如果我们遵循了解析词法二义性问题的规则,上式的解析从语法上来说又没有意义,当然,在编程实践中,谨慎的做法就是尽量避免使用类似的结构,除非编程者非常清楚这些结构的含义。