C 逗号运算符
语法格式
exp1, exp2, exp3, ..., expN;
执行效果
运算符中每个表达式exp(i)都会被计算,且整个逗号表达式的最终结果为最后一个表达式expN的值。
代码举例
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = -1;
while(a *= -1,a){
printf("%s","OK");
break;
}
return EXIT_SUCCESS;
}
最终输出结果:OK。
while中含有的条件判别式是一个逗号表达式。系统首先计算第一个表达式 a*=-1
,获得结果为a=1。然后计算第二个表达式a,并以此作为整个逗号表达式的值加以返回。第二个表达式会返回了a的值1,这个1也是作为了整个逗号表示式的值加以返回,最终结果为while(1)
。循环判别条件通过,执行循环体,输出OK后break。