如 a = b = c = 0 这样的表达式称为复合表达式。允许复合表达式存在的理由是:
(1)书写简洁;
(2)可以提高编译效率。但要防止滥用复合表达式。
【规则4-2-1】不要编写太复杂的复合表达式。
例如:i = a >= b && c < d && c + f <= g + h ; // 复合表达式过于复杂
【规则4-2-2】不要有多用途的复合表达式。
例如:d = (a = b + c) + r ;
该表达式既求a 值又求d 值。应该拆分为两个独立的语句:
a = b + c;
d = a + r;
【规则4-2-3】不要把程序中的复合表达式与“真正的数学表达式”混淆。
例如:if (a < b < c) // a < b < c 是数学表达式而不是程序表达式
并不表示
if ((a<b) && (b<c))
而是成了令人费解的
if ( (a<b)<c )