gpt4 book ai didi

c - C 中 printf 中表达式的求值

转载 作者:太空宇宙 更新时间:2023-11-04 02:34:36 26 4
gpt4 key购买 nike

<分区>

我知道多个表达式是从右到左求值的。例如:

int i = 0;   
printf("%d %d %d", i, i++, i++); // Prints 2 1 0

但是当涉及到要评估的每个表达式时,我不知道它是从右到左还是从右到左。

int main()
{
int a = 1, b = 1, d = 1;
printf("%d", a + ++a); // Result = 4
}

考虑从左到右求值,前面的代码应该求值为1 + 2 = 3

int main()
{
int a = 1, b = 1, d = 1;
printf("%d", ++a + a); // Result = 4
}

这应该计算为 2 + 2 = 4

但在这两种情况下答案都是 4。

谁能解释一下这些表达式是如何求值的?

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