找不到致命错误'stdio.h'

时间:2011-05-05 13:09:16

标签: c

为什么我收到此消息?编译器是clang。这是一个简单的程序,例如:

#include<stdio.h>

int fib(int);
int main()
{
    int i;
    scanf("%d",&i);
    printf("The fibonacci number that is %i'th in the sequence is %i \n", i, fib(i));
return 0;
}

int fib(int n)
{
    if (n==1 || n==0) return 1;
    else return fib(n-1)+fib(n-2);
}

2 个答案:

答案 0 :(得分:10)

假设C

<stdio.h>是标准C标头之一。您的编译器抱怨它无法找到此标头。这意味着您的标准库已损坏。

考虑重新安装编译器。

假设C ++

<stdio.h>是C标准标题,我们使用<cstdio>代替C ++。虽然C ++中仍然需要<stdio.h>,但这可能不是问题。


除了这些假设之外,最有可能(通过您的编码风格和标签)您正在使用C.尝试将其作为示例代码。这是保证(由我)在一个工作的C编译器上编译,如果没有,那么你的编译器可怕地被打破,你必须安装另一个/重新安装:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv) {
    printf("Hello World!\n");
    return EXIT_SUCCESS;
}

答案 1 :(得分:0)

在Visual Studio 2017中使用C ++时遇到类似的运行时错误。我的解决方案是简单地清理并重建解决方案