C中的子表达式是什么?

sri*_*ira 4 c expression

什么是C中的子表达式?我认为较小的表达式的组合是子表达式,例如:a*(b+C/d)/20

b+c/d子表达式是否正确?或者单独c/d是子表达式?

Che*_*Alf 6

一个子表达是只是一个更大的表达式的任何部分.

考虑:

2 * 3 + 4 * 5
Run Code Online (Sandbox Code Playgroud)

这里3+4*5子表达.

完整表达式解析为

(2 * 3) + (4 * 5)
Run Code Online (Sandbox Code Playgroud)

所以直接的子表达式是2*34*5.

每个那些再次解析为更小的东西组合物中,与2*3构成的子表达式的23,以及与4*5该子表达式组成45.

子表达式的这些子表达式是原来的充分表达的间接子表达式,从而总共有这些子表达式:2*3,4*5,2,3,45.

虽然例如3+4*5不是一个子表达式.

总之,子表达式是运算符或函数的参数,并且这样的参数表达式本身可以具有子表达式.


关于你的例子

a*(b+C/d)/20
Run Code Online (Sandbox Code Playgroud)

和你的具体问题

b+c/d子表达式是否正确?或者单独c/d是子表达式?

是的,是的(模数大写/小写错字).

但是,例如,这里b+C不是子表达式.