c语言预处理指令stdbool什么时候才可以使用?为何我写的这里会出现没有这样的文件或目录?
1个回答
展开全部
因为 stdbool.h 头文件是在 C99 标准中引入的,而题主使用的是 Visual C++ 6.0,这款 IDE 是微软在 1998 年发布的,所以内建的编译器不支持 C99 标准,也就不支持导入 stdbool.h 头文件了。由于 VC 6.0 早已过时,所以强烈建议题主更换更新的编译器及开发环境,在 Windows 中可以考虑 MinGW + Notepad++/Atom,Code::Blocks 或者 Visual Studio 2013。如果不想更换开发环境,可以采用以下两种方法来代替 stdbool.h:
使用 1/0 来代替 true/false
#include <stdio.h>
int main() {
int year;
int leap = 0;
scanf("%d", &year);
if (year % 4 == 0) {
if (year % 100 == 0) {
if (year % 400 == 0) {
leap = 1;
}
} else {
leap = 1;
}
}
if (leap)
printf("%d is a leap year.\n", year);
else
printf("%d is not a leap year.\n", year);
return 0;
}
或者自己定义一个 bool 类型和 ture/false 变量(本质上和使用 0/1 是一样的)
#include <stdio.h>
#define true 1
#define false 0
typedef int bool;
int main() {
int year;
bool leap = false;
scanf("%d", &year);
if (year % 4 == 0) {
if (year % 100 == 0) {
if (year % 400 == 0) {
leap = true;
}
} else {
leap = true;
}
}
if (leap)
printf("%d is a leap year.\n", year);
else
printf("%d is not a leap year.\n", year);
return 0;
}
更多追问追答
追问
visual studio2013怎么使用
2015的我也下载过,但不会用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询