putchar不会打印最后一个字符

时间:2018-04-14 10:18:43

标签: c char

今天我用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
    }

1 个答案:

答案 0 :(得分:3)

stdout通常是缓冲的,只有在输出新行时才会刷新 您可以使用fflush(stdout);手动刷新它,也可以使用setbuf(stdout, NULL);

禁用缓冲