C没有布尔?还VS2010的问题

use*_*111 5 c visual-studio

我正在使用VS 2010专业版.

首先,C没有bool类型?我只需要使用0/1的int.似乎很奇怪,因为大多数语言认为布尔是一种标准类型.

我也有Visual Studio 2010 Pro,但没有"C项目".我刚刚创建了一个Empty C++ Project.文件名以.c结尾

这个问题是关键字搞砸了(在编辑器中显示bool为高亮/有效,但编译器不喜欢它).

我去修复/添加组件,他们有C#,F#,C++,Visual Basic; 但没有C?

Ath*_*ick 12

最新的C标准(C99)确实有bool类型.只需加入stdbool.h即可使用.不幸的是,MSVC根本没有对C的适当支持.只有部分C89.

  • @R:MSVC支持C(C90),而不是C99. (3认同)
  • @R:这是C99的一部分,但不是C90.我只是重新检查了标准,(硬拷贝 - 多么痛苦)并且它根本没有列出wprintf. (2认同)

R..*_*R.. 5

当前的C语言(C99)有一个bool类型(实际上_Bool,但包括stdbool.h声明它的typedef别名bool),但是因为你使用的是MSVC,所以你无法使用它.在任何情况下,在C中使用布尔类型都是完全非惯用的并且在很大程度上是无用的.就像int其他人一样使用.或者,如果您需要一个巨大的阵列,请创建自己的位阵列实现.

  • "在C语言中使用布尔类型是完全非惯用的并且在很大程度上是无用的" - 有点像"短". (2认同)