为什么C程序不能多次运行?

时间:2014-10-09 11:15:31

标签: c

当我运行下面的代码时,最初它运行得很顺利,但是在第十一次第十一次之后它开始以垃圾值和pritining输出为-656,+ NAL,0.0000,-123000.000等?

  void main()

  {

       float x;
       scanf("%f",&x);
       printf("%f",x); 
       getch();
  }

1 个答案:

答案 0 :(得分:0)

我只是在这里猜测,但如果问题中的代码是您完整且实际的代码,那么您有undefined behavior因为scanf而不是printf函数都没有已声明,这意味着编译器将猜测它们采用什么参数,在您的情况下,编译器很可能错误地猜测。

要解决此问题,您需要包含声明这些函数的头文件,以便编译器知道它们:

#include <stdio.h>

int main(void)
{
    ...
}