gpt4 book ai didi

c - (int ret = 0; !ret && ret !=0) 之间的区别

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

有什么区别:

1) !ret
2) ret != 0

?

if (ret != 0 || stack[fd] == NULL || stack[fd][0] == '\0')
{
if (!ret && *line)
*line = NULL;
return (ret);
}

最佳答案

在 C 语言的 bool 上下文中,零值被认为是“假”,非零值被认为是“真”。因此 if (ret)(如果 ret 为真)等同于 if (ret != 0)(如果 ret 不为 false),类似地 if (!ret)(如果 ret 不为真)等同于 if (ret == 0)(如果 ret 为 false)。

(即 !retret != 0 的含义是相反的,假设问题是正确的。)

关于c - (int ret = 0; !ret && ret !=0) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56397630/

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