gpt4 book ai didi

c++ - 变量赋值和逗号运算符

转载 作者:行者123 更新时间:2023-11-30 18:21:33 25 4
gpt4 key购买 nike

谁能帮我解释一下:

int a, b, c, d;
a = 2;
b = 4;
c = a, b;
d = (a, b);

为什么c == 2d == 4 ???

最佳答案

这两个语句的计算结果均为

c = a;
d = b;

由于逗号运算符(在所有运算符中具有最低优先级)在 C 和 C++ 中的工作方式。

对于第一个,首先评估 c = a (因为 = 的优先级高于逗号运算符),然后评估 b (其中是无操作)被评估。 整个表达式有一个值b,但没有分配给任何东西。

对于d = (a, b);,由于括号的原因,(a, b) 首先被求值。它有一个值b,并被分配给d

关于c++ - 变量赋值和逗号运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41357290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com