【问题标题】:putchar doesnt print last charputchar 不打印最后一个字符
【发布时间】:2018-04-14 10:18:42
【问题描述】:

今天我用 putchar 在 c 中编写了一个代码,这样我就可以将它翻译成程序集,但是如果我在它工作后添加一个换行符,我调用的最后一个 putchar 不会打印。

else if(R5 == 0x2B) // PLUS
    {

    .....

      if(R8 >= 10 || R8 == 0)
      {
        R5 = 0;
zhnr: if(R8 >= 10)
        {
          R8 = R8 - 10;
          R5++;
          goto zhnr;
        }
        putchar('0'+ R5);
      }
      putchar('0'+ R8);   // THIS IS THE LAST PUTCHAR WHICH DOESNT PRINT
      // IF I ADD HERE: putchar('\n'); It works
    }

【问题讨论】:

标签: c char


【解决方案1】:

stdout 通常会被缓冲,并且仅在您输出新行时才会刷新。
您可以使用fflush(stdout); 手动刷新它或使用setbuf(stdout, NULL); 禁用缓冲

【讨论】:

    猜你喜欢
    • 2021-07-03
    • 2022-11-20
    • 2020-07-05
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多