expr_no_commas '=' expr_no_commas
这是在C的规则中找到的,但我能想到的唯一可能的形式是:
identifier = expr_no_commas
即,左侧是单个变量,还是其他任何变量?
答案 0 :(得分:5)
有很多C表达式是非标识符的赋值;这里有几个例子:
x[1] = 5;
*f() = 7;
*p++ = 0;
a[i].f = a[i].g;
答案 1 :(得分:0)
你在哪里找到“规则”?语言标准(草案n1256,第6.5.16节)中提供的语法是
assignment-expression:
conditional-expression
unary-expression assignment-operator assignment-expression
assignment-operator: one of
= *= /= %= += -= >= &= ^= |=
其中一元表达式导致任何数量的非简单标识符的制作(如Jeremiah Willcock所示)。