我试着读一个击键然后停止一个代码。在C。
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
bool starting()
{
char c;
if (kbhit())
{
c=getch();
if (c=="S"||c=="s")
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
int main()
{
while(!starting)
{
printf("line 1");
delay(100);
}
return 0;
}
如果没有
stdbool.h
,它会显示如下错误syntax error: identifier 'starting',
syntax error: ";"
syntax error: ")"
'starting': undeclared identifier
对于stdbool.h,它说找不到文件。我的编译器是Visual Studio 2010附带的编译器。
有什么建议可以去掉这个吗?如何仍然使用返回布尔值的函数?
补充
对不起的!对于添加的简短评论。基本上解决了。谢谢大家
补充
更多错误:
编译后:内容如下:
filename.obj unresolved external symbol _delay referenced in function _main.
我该怎么办?
最佳答案
stdbool.h
在C99
中引入,而Visual Studio不支持C99
。你可以自己定义类型。一种可能的方法是:
typedef int bool;
#define true 1
#define false 0
关于c - 替代方案;找不到STDBOOL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17249388/