1. 累赘、无效的逗号操作符
if( b+1, c/2, d>0 )
//...省略
判断条件相当于舍弃了前面两个式子,而是只判断了最后一个 d>0 的真假,所以这种用法毫无意义。
2. 一种特殊情况的while循环中的使用
原代码:
a = get_value();
count_value( a );
//在while循环前有两条语句用于获得在循环表达式中进行测试的值
while( a>0 )
{
//...
a = get_value();
count_value( a );
//在循环开始前和循环体最后都要有这样相同的语句,方便下一次循环的判断
}
简化版本1(逗号操作符):
while( a=get_value(), count_value( a ), a>0 )
{
//...
}
简化版本2(逗号操作符、内嵌赋值):
while( count_value( a=get_value() ), a>0 )
{
//...
}
3. 用逗号操作符把赋值语句整合成一条语句
while( x<10 )
b += x,//注意这里是逗号
x += 1;//这样两条语句可以不加花括号