-3

我运行程序并出现控制台,但 printf 没有打印任何内容,我该如何解决这个问题?

#include<stdio.h>
main()
{
    float fa;
    int cel;
    cel=0;
    while(cel<=200);
    {
        fa=9.000*(cel+32.000)/5.000;
        printf("%d\t%.3f\n",cel,fa);
        cel=cel+20;
    }
}

另外我有一个非常相似的程序可以正确运行

#include<stdio.h>
main()
{
  float celsius;
  int fahr;
  fahr = 0;
    while(fahr<=100){
    celsius=5.0000*(fahr-32.0000)/9.0000;
    printf("%d\t%.4f\n",fahr,celsius);
    fahr=fahr+1;
  }
}

我在 c-free 5 中运行了这两个程序

4

2 回答 2

9

无限循环:

while(cel<=200);

因为尾随;它相当于:

while(cel<=200) {}

这意味着printf()永远不会达到并且cel永远不会修改。删除;以更正。

于 2013-08-07T16:16:38.127 回答
1

请稍后删除分号

while(cel<=200)  

正确的代码是:

#include<stdio.h>
main()
{
    float fa;
    int cel;
    cel=0;
    while(cel<=200) // semicolon removed here
    {
        fa=9.000*(cel+32.000)/5.000;
        printf("%d\t%.3f\n",cel,fa);
        cel=cel+20;
    }
}
于 2013-08-07T16:17:36.153 回答