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 @   雏扬  阅读(136)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示