A.i++是一个递增操作符,用于将变量i的值加一。这是一个有效的语句。
B.a=(b=(c=0))是一个连续的赋值语句,其中变量c被赋值为 0,然后变量b被赋值为c的值(即 0),最后变量a被赋值为b的值(也是 0)。这是一个有效的语句。
C.a=b=c是一个连续的赋值语句,其中变量c的值被赋值给变量b,然后变量b的值被赋值给变量a。这是一个有效的语句。
D.a = b+c = 3是一个无效的语句。在 C++ 中,赋值操作符的返回值是赋给左侧变量的值,因此b+c的结果会被赋值给a,而b+c的结果是一个临时的中间值,无法再次被赋值。因此,这个语句是错误的。
综上所述,选项 A、B 和 C 都是正确的,而选项 D 是错误的。