i=2.56; //结果i=2;
例: a=b=c=5 //表达式值为5,a,b,c值为5
a=(b=5) // b=5;a=5
a=5+(c=6) //表达式值11,c=6,a=11
a=(b=4)+(c=6) //表达式值10,a=10,b=4,c=6
a=(b=10)/(c=2) //表达式值5,a=5,b=10,c=2
说明(2):
结合方向:自右向左
优先级: 12
左侧必须是变量,不能是常量或表达式
赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型
赋值表达式的值与变量值相等,且可嵌套
例: a=12;
a+=a-=a*a //a=-264 等价于a=a+(a=a-(a*a))
例: int a=2;
a%=4-1;
a+=a*=a-=a*=3; //a=0 等价于a=a+(a=a*(a=a-(a=a*3)))