C printf()不会首先显示
我的代码:C printf()不会首先显示,c,printf,C,Printf,我的代码: #include <stdio.h> #define SPITZE 1 #define GUT 2 #define BEFRIEDIGEND 3 #define AUSREICHEND 4 #define DURCHGEFALLEN 5 #define JA 1 #define NEIN 0 int main (void) { unsigned int
#include <stdio.h>
#define SPITZE 1
#define GUT 2
#define BEFRIEDIGEND 3
#define AUSREICHEND 4
#define DURCHGEFALLEN 5
#define JA 1
#define NEIN 0
int main (void)
{
unsigned int note, bestanden;
printf ("\nGeben Sie bitte eine Note (1-5) ein: ");
scanf ("%u", ¬e);
if (note == SPITZE)
bestanden = JA;
else if (note == GUT)
bestanden = JA;
else if (note == BEFRIEDIGEND)
bestanden = JA;
else if (note == AUSREICHEND)
bestanden = JA;
else
bestanden = NEIN;
bestanden ? printf ("\nOK!,") : printf( "\nNICHT bestanden");
return 0;
}
因此,控制台甚至不打印文本first printf\n ben Sie bite eine Note 1-5 ein:。文本不会显示,直到我输入一个数字,然后它直接打印出printf&结果
如何让它打印该行以查看它?您可以在打印后使用fflush:
其目的是清除或刷新输出缓冲区,并将缓冲数据移动到控制台(如果是stdout)或磁盘(如果是文件输出流) 当使用打印到标准输出的函数(如printf)时,在某些系统上,您可能需要刷新缓冲区以使项目显示在屏幕上
这通常是通过在每个printf的末尾添加一个\n来完成的,但是您也可以通过调用fflushstdout来显式完成。printf是缓冲的,所以您应该在scanf之前刷新它。\n在这种情况下,他不太好,因为他希望光标刚好经过提示。我可以举个例子,因为我尝试了它,但仍然不起作用。我想看看我是否答对了