gpt4 book ai didi

c - 递增运算符在 if 语句中如何工作?

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

    #include <stdio.h>

int main()
{
int x = 0;

if (x++)
printf("true\n");
else if (x == 1)
printf("false\n");
return 0;
}

输出:

false

为什么输出是假的?

x++ 是后增量;这意味着 x 的值被使用,然后递增。如果是这样,则应使用 x=0 并且答案应该为真。

最佳答案

在 C 中,0 被视为 false。在x++中,表达式中使用了x的值,即0,变成了

if(0)  // It is false
printf("true\n");

if 的主体没有被执行。之后 x 现在是 1。现在检查 else if 中的条件,即 x == 1。因为 x1 ,这个条件评估为 true 因此它的主体被执行并打印 “false”

关于c - 递增运算符在 if 语句中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21435072/

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