C中'boolean'的返回值

卡尔·希亚斯

以下哪种返回类型是以下相等性检查的正确返回类型?为什么?

int foo1(short x) {
    return x<0;
}

short foo2(short x) {
    return x<0;
}

char foo3(short x) {
    return x<0;
}

#include <stdbool.h>
bool foo4(short x) {
    return x<0;
}
jpa

所有这些都将相同。整数会自动转换为布尔值并返回到 C。

然而,意图,如果你使用的代码是最明确bool的类型stdbool.h

在 1999 年版本的标准添加之前的代码中,stdbool.h通常BOOL在某些标头中定义了一个类型。这种模式不应该真正用于新项目,但在旧项目中保持相同的风格是有意义的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章