为什么变量名是表达式?
Why is the variable name an expression?
int n=0;
n;
为什么是“n;”一种表达?
它不调用任何运算符等
因为语言设计者在创建语法时就已经决定了。
作为一个更实际的原因,语法通常是递归定义的。您 可以 禁止将裸变量不允许作为表达式,但是定义变量也是表达式要容易得多。因为这样你就可以简单地将加法定义为 <expr> + <expr>
,例如
int n=0;
n;
为什么是“n;”一种表达? 它不调用任何运算符等
因为语言设计者在创建语法时就已经决定了。
作为一个更实际的原因,语法通常是递归定义的。您 可以 禁止将裸变量不允许作为表达式,但是定义变量也是表达式要容易得多。因为这样你就可以简单地将加法定义为 <expr> + <expr>
,例如