我试着读一个击键然后停止一个代码。在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.hC99中引入,而Visual Studio不支持C99。你可以自己定义类型。一种可能的方法是:

typedef int bool;
#define true 1
#define false 0

关于c - 替代方案;找不到STDBOOL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17249388/

10-13 08:23