C中的程序正确启动但printf没有显示任何内容

时间:2013-08-07 16:15:25

标签: c

我运行程序并且控制台出现但是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

中运行了两个程序

2 个答案:

答案 0 :(得分:10)

无限循环:

while(cel<=200);

因尾随;而等同于:

while(cel<=200) {}

表示永远不会到达printf(),永远不会修改cel。删除;以更正。

答案 1 :(得分: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;
    }
}