当我编译代码时,它说一切都检查完毕,但当我运行它时,什么也没有发生。该程序只会运行,直到我终止终端。
#include<stdio.h>
int main()
{
float work;
work=0;
char ans[]="No";
while(ans[0]=='N');
{
printf("Hours worked today ");
scanf("%f", &work);
printf("Is that all? ");
scanf("%s", ans);
}
return 0;
}
最佳答案
您已在 while
条件之后放置了 ;
。因此你的 while 循环是空的并且将永远运行。
您的程序的更具可读性的等效项是:
int main()
{
float work;
work=0;
char ans[]="No";
while(ans[0]=='N')
{
// empty loop thAT will run forever
}
// we never get here
printf("Hours worked today ");
scanf("%f", &work);
printf("Is that all? ");
scanf("%s", ans);
return 0;
}
在你的程序中只需更改
while(ans[0]=='N');
至
while(ans[0]=='N')
它会起作用。
关于c - 为一个用 C 语言记录我的工作时间和工资的程序编写简单的基本代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36032243/