条件表达式中的指针/整数类型不匹配

2023-11-29

gcc 4.7.2 c89

Hello,

我收到以下警告:

pointer/integer type mismatch in conditional expression

我正在编译以下内容CFLAGS -Wall -Wextra

fprintf(stderr, "'Failed to open file' Error [ %s ]\n",
        (errno == 0) ? "None" : strerror(errno));

程序运行正常,但我看不到警告的全部内容。 “None”和 strerror(errno) 都返回字符串而不是整数值。我将 errno 编号与零进行比较。

非常感谢您的任何建议,


检查您是否已包含<string.h>标头。如果不是,则返回值strerror可以被视为整数值。这可以解释为什么程序运行正常(链接器可以找到一个名为的匹配函数strerror,因为默认情况下链接了 C 标准库),而编译器会报告警告。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

条件表达式中的指针/整数类型不匹配 的相关文章

随机推荐