c/c++语言开发共享在C中用括号分配两个值

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

      (0)
      上一篇 2021年2月4日
      下一篇 2021年2月4日

      精彩推荐