今天我用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
}
答案 0 :(得分:3)
stdout
通常是缓冲的,只有在输出新行时才会刷新
您可以使用fflush(stdout);
手动刷新它,也可以使用setbuf(stdout, NULL);