gpt4 book ai didi

c - 这种变量分配是如何工作的?

转载 作者:太空狗 更新时间:2023-10-29 16:00:10 25 4
gpt4 key购买 nike

int main()
{
int x=7,z;
int y=8;

z=x,y;
printf("%d",z);
}

为什么结果是 7

最佳答案

逗号运算符 , 计算其左操作数,丢弃该值,并将右操作数用作运算符的结果。然而,它的优先级也是最低的,甚至低于赋值运算符 =。所以这个:

z=x,y;

解析为:

(z=x),y;

所以在这个表达式中,z 被赋予了 x 的值,即 7。该值作为逗号运算符的左操作数,被丢弃并且值y 被评估。表达式的最终值 8 将被丢弃,因为它是表达式语句的最终值。

如果你这样做了:

z=(x,y);

然后逗号运算符将评估 y 的值,即 8,然后该值将分配给 z

关于c - 这种变量分配是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57932295/

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