C语言中的逗号
逗号表达式
逗号表达式的一般形式如下:
表达式1, 表达式2, ..., 表达式n
其求解过程是:先求解表达式1,再求解表达式2,一直求解到表达式n。整个逗号表达式的值是表达式n(最后一式)的值。
但是观察下面的表达式:
Value = 2+5, 1+2, 5+7;
上述语句中Value的值是7,并非12。因为赋值运算符的优先级比逗号运算符高,因此先执行赋值运算。
如果要先执行逗号运算,可以使用括号运算符,代码如下:
Value = (2+5, 1+2, 5+7);
使用括号之后,Value的值为12。
不要用逗号分割数字
例如下面的代码:
houseprice = 249,500;
这里的逗号将被视作运算符,相当于从左往右执行两个表达式:
houseprice = 249;
500;
第一行中的价格显然是错误的,而第二行毫无意义。
另外可以推得,就算是这样子写,也是错误的:
houseprice = (249,500);
这样,逗号表达式会返回最后一个数字500,于是houseprice的值就变成了500。这显然也是错误的。
因此,不要用逗号分割数字!(当然,分割好了再删掉也没关系)

浙公网安备 33010602011771号