由于 ANSI C99 存在_Bool或bool通过stdbool.h. 但是是否还有printfbool 的格式说明符?
_Bool
bool
stdbool.h
printf
我的意思是在那个伪代码中:
bool x = true; printf("%B\n", x);
这将打印:
true
类型没有格式说明符bool。但是,由于任何小于在传递给可变参数时int提升为的整数类型,您可以使用:int``printf()``%d
int
int``printf()``%d
bool x = true; printf("%d\n", x); // prints 1
但为什么不:
printf(x ? "true" : "false");
或更好:
printf("%s", x ? "true" : "false");
或者,甚至更好:
fputs(x ? "true" : "false", stdout);