printf()在做while循环之前不工作
printf() not working before do while loop
我试过运行这段代码:
printf("Enter a character.");
printf("\n");
do {
ch = getch();
system("cls");
putchar(ch);
} while(ch != '.');
以上代码在 Codeblocks 上运行良好,但在 Eclipse IDE 上运行不正常。事实上,do while
循环之前的 printf
语句不起作用,但如果我禁用 do while
语句,则 printf 语句在 eclipse 上工作正常。您能解释一下为什么会这样吗?
也许试试这个?
printf("Enter a character.\n");
fflush(stdout);
do {
ch = getch();
system("cls");
putchar(ch);
} while(ch != '.');
我认为这是因为你的输出缓冲区 (printf) 没有刷新。
我试过运行这段代码:
printf("Enter a character.");
printf("\n");
do {
ch = getch();
system("cls");
putchar(ch);
} while(ch != '.');
以上代码在 Codeblocks 上运行良好,但在 Eclipse IDE 上运行不正常。事实上,do while
循环之前的 printf
语句不起作用,但如果我禁用 do while
语句,则 printf 语句在 eclipse 上工作正常。您能解释一下为什么会这样吗?
也许试试这个?
printf("Enter a character.\n");
fflush(stdout);
do {
ch = getch();
system("cls");
putchar(ch);
} while(ch != '.');
我认为这是因为你的输出缓冲区 (printf) 没有刷新。