+=,%=都为复合运算符。
先算a%3,a%3的意思是a对3取余,得到一个结果。
a%3=a%3的意思是a=a对(a%3)的结果取余,得到一个结果并赋值给a。
a+=a%=a%3的意思是a=a+(a%3=a%3)的结果,就得到了a 的值。
注意:在这个过程中a 值得变化。
扩展资料:
复合赋值运算符有下列这些:
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 模运算赋值
<<= 左移赋值
>>= 右移赋值
&= 位逻辑与赋值
|= 位逻辑或赋值
^= 位逻辑异或赋值
参考资料来源:百度百科-复合赋值运算符
c语言a|3的含义是一个拥有3行而列数不固定的二维数组。由于编译器要求多维数组的除最高维度外的每个维度都必须为已知量,c语言中,数组和下标可以互换,这是由数组下标的指针定义决定的,由于存在加法交换律,只要一个是指针,另一个是整型就行,而无关顺序,a|3的含义是一个拥有3行而列数不固定的二维数组。