gpt4 book ai didi

不使用分号打印 "hello world"的概念性帮助

转载 作者:行者123 更新时间:2023-12-02 09:06:22 24 4
gpt4 key购买 nike

我了解到 if 条件可以采用 2 个值(0 或 1)之一作为输入。

现在我偶然发现了以下代码:

#include <stdio.h> 
int main(void)
{
if (printf("Hello World")) { }
}

在条件下我们有一个函数不给出 0 或 1 而给出一组字符作为输出。

起初我预计会出现错误,但我没有得到,代码运行正常。

谁能解释一下这种行为的原因

谢谢

最佳答案

I have learnt that "if" condition can only take 0 or 1 as input.

绝对不是真的。条件几乎可以取任何值,如果等于 0 则解释为假,如果不等于 0 则解释为真。

I was expecting an error when I first saw it but because of printf but it isn't giving.

没错。为什么会出现错误? printf 返回一个 int 值,所以它完全没问题。 (在这种情况下,printf 返回零或非零甚至都不重要,因为在 if 语句的主体中没有发生任何事情。)

关于不使用分号打印 "hello world"的概念性帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57909767/

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