我到今天终于发现原来C语言是没有bool类型的,汗死……原来C++中才有,不过C99中新增的_Bool关键字可以表示布尔类型。
C99关键字(ISO/IEC 9899:1999)
auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
inline
int
long
register
restrict
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while
_Bool
_Complex
_Imaginary
ISO/IEC 14882(C++标准关键字)
Second edition 2003-10-15
asm do if return typedef
auto double inline short typeid
bool dynamic_cast int signed typename
break else long sizeof union
case enum mutable static unsigned
catch explicit namespace static_cast using
char export new struct virtual
class extern operator switch void
const false private template volatile
const_cast float protected this wchar_t
continue for public throw while
default friend register true
delete goto reinterpret_cast try
不过目前大部分编译器、教材(包括谭浩强的C语言)都在C89的基础上,据说GCC支持大部分C99标准,而Microsoft则并不感兴趣。_Bool 在最新的VS2010上也不支持,同样C99说变量定义并不要求在句块开头,VS2010仍然不支持!但它们却都被GCC支持。