gpt4 book ai didi

对 printf ("(%d,a=%d,a+b=%d)",a=a+3,a,a+b) 的结果感到困惑;

转载 作者:行者123 更新时间:2023-11-30 21:39:32 24 4
gpt4 key购买 nike

给出以下代码:

int a=0,b=2;
printf("(%d,a=%d,a+b=%d)",a=a+3,a,a+b);

为什么结果是(3,a=3,a+b=5)

最佳答案

您正在打印赋值 (a=a+3) 的结果,即分配的值 (3)。但参数的评估顺序取决于编译器(未定义的行为)。它可以打印:

(3,a=3,a+b=5)

或者:

(3,a=0,a+b=2)

甚至:

(3,a=0,a+b=5)

关于对 printf ("(%d,a=%d,a+b=%d)",a=a+3,a,a+b) 的结果感到困惑;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31786280/

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