bool的printf格式说明符是什么?

自ANSI C99以来,通过stdbool.h存在\u BoolBool。但是bool是否也有printf格式说明符

我的意思是在伪代码中:

boolx=true;
printf(“%B\n”,x);

将打印:

true

bool类型没有格式说明符。但是,由于任何小于int的整数类型在传递到printf()的变量参数时都会升级为int,因此可以使用%d

boolx=true;
printf(“%d\n”,x);//印刷品1

但为什么不:

printf(x?“真”:“假”);

或者更好:

printf(“%s”,x?”真):“假”);

或者,更好的是:

fputs(x?“真”:“假”,标准输出);

相反

发表评论