在c++语法中,经常听到操作符左结合,还有编译原理里面也经常出现左结合?举个例子说明下,谢谢。另外 什么叫“常数是不能左值的”。。
上面那句“常数是不能左值的”。。改为“常数是不能做左值的”。。
左结合性:意思是从左向右执行运算;
右结合性:意思是从右向左执行运算。
例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。
而自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。
扩展资料:
C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。其它的都是从左至右结合。
参考资料来源:百度百科-C语言运算符
谢谢大家!
本回答被提问者采纳