C中的这段代码做了什么:
p = (1, 2.1);
我们对p
什么了解?
C中的逗号运算符是一个序列点 ,这意味着用逗号分隔的表达式从左到右执行。 整个表达式的值是最右边的表达式的值,在你的情况2.1
,它被赋值给变量p
。
由于示例中的表达式没有副作用,因此在此处使用逗号分隔符毫无意义。
另一方面,括号是重要的,因为赋值运算符( =
)比逗号运算符(它具有更高的优先级)更强,并且将在没有括号的逗号运算符之前进行求值。 结果将是p == 1
。
这是一个错误。 逗号运算符类似于;。 它做一个,然后做另一个。 所以(1,2.1)评估为2.1
p将是2.1(或2,如果p是一个int并且需要被截断…)
将从左到右评估所有逗号分隔表达式,并返回最右侧表达式的值。
所以p会2.1。
以上就是c/c++开发分享在C中用括号分配两个值相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/562291.html