_Bool为什么会错呢?
这_Bool怎么会错呢?#include <stdio.h>
int main()
{
printf("int = %d\n",sizeof(int));
printf("short int = %d\n",sizeof(short int));
printf("long int = %d\n",sizeof(long int));
printf("long long int = %d\n",sizeof(long long int));
printf("char = %d\n",sizeof(char));
printf("_Bool = %d\n",sizeof(_Bool));
printf("float = %d\n",sizeof(float));
printf("double = %d\n",sizeof(double));
printf("long double = %d\n",sizeof(long double));
return 0;
} 你的后缀文件是.cpp,那么它编译的时候就是按照c++的规范来编译的,和c是不一样的,c++中的布尔类型为bool 本帖最后由 jackz007 于 2021-3-17 01:47 编辑
#include <stdio.h>
int main(void)
{
_Bool flag ;
printf("hello , world !\n") ;
}
此代码起名 x.c
编译、运行实况
D:\00.Excise\C>gcc -o x x.c
D:\00.Excise\C>x
hello , world !
D:\00.Excise\C>
但是,如果命名为 x.cpp 就无法编译了
D:\00.Excise\C>gcc -o x x.cpp
x.cpp: In function 'int main()':
x.cpp:5:9: error: '_Bool' was not declared in this scope
5 | _Bool flag ;
| ^~~~~
D:\00.Excise\C>
所以,尝试把文件扩展名改为 .c,在命令行下用 gcc 而不是 g++ 进行编译试试看呢。
页:
[1]