gpt4 book ai didi

c - 包含一元运算符的程序的输出

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

以下代码的输出是什么?在线编译器给出的结果是:12 6 11。有人能告诉我怎么做吗?

#include<stdio.h>

#define MAX(x,y) (x)>(y)?(x):(y)

main()
{
int i = 10, j = 5, k = 0;
k = MAX(i++, ++j);
printf("%d %d %d", i, j, k);
}

最佳答案

它被翻译成:

k = (i++)>(++j)?(i++):(++j)

现在很容易说出原因..

i++ 使 i 为 11,++j 使 j 为 6。现在我们有:

10 > 6

如果为真,那么我们返回i++,现在是12。

使用 -E 标志查看预处理器的输出。

关于c - 包含一元运算符的程序的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25054009/

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