c - 为一个用 C 语言记录我的工作时间和工资的程序编写简单的基本代码

标签 c

当我编译代码时,它说一切都检查完毕,但当我运行它时,什么也没有发生。该程序只会运行,直到我终止终端。

#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/

相关文章:

python - 无法安装 pysam 0.13

C - 我的 scanf 永远不会停止接受输入

c++ - 在 cmake 中启用 Qspectre 和 Control Flow Guard 开关

c - ZeroMQ:异步回复

c - OpenWrt SDK自定义包 'make'失败,因为缺少libpthread.so.0

c - fatal error : i2c/smbus. h : No such file or directory?

c - 将 '\0' 分配给指针与将 NULL 分配给它相同吗?

c++ - 共享库加载和性能

c - 使用指针时,编译时出现与不完整类型相关的未知原因

c - GLUT 菜单会导致 OpenGL 游戏出现问题?