我正在尝试编写一个打印提示并接受用户输入的 C 应用程序。我用 fgets() 编写了一个简单的程序,但它确实工作正常。我正在使用 eclipse c/c++ 工具包。当我保存>构建>运行时,控制台保持空白。如果我输入一些输入,程序就会运行。首先它打印 printf 然后打印我输入的输入。我尝试运行在网上找到的示例程序,但它运行时遇到了相同的问题。有人知道为什么吗?
我想要得到的是:
“你是谁?”
输入=“大米”
“很高兴认识你米”
Thanks.
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char name[10];
printf("Who are you? ");
fgets(name,10,stdin);
printf("Glad to meet you, %s",name);
return(0);
}
问题是您没有刷新输出缓冲区。如果输出不以换行符结尾,它可能会保持缓冲状态,如下例所示:
printf( "Who are you? " ) ;
fflush( stdout ) ;
应该可以解决问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)