以下哪种返回类型是以下相等性检查的正确返回类型?为什么?
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;
}
所有这些都将相同。整数会自动转换为布尔值并返回到 C。
然而,意图,如果你使用的代码是最明确bool
的类型stdbool.h
。
在 1999 年版本的标准添加之前的代码中,stdbool.h
通常BOOL
在某些标头中定义了一个类型。这种模式不应该真正用于新项目,但在旧项目中保持相同的风格是有意义的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句