自ANSI C99以来,通过stdbool.h存在\u Bool或Bool。但是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?“真”:“假”,标准输出);
相反