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。这显然也是错误的。

因此,不要用逗号分割数字!(当然,分割好了再删掉也没关系)

posted @ 2023-08-15 19:07  雏扬  阅读(157)  评论(0)    收藏  举报