#include <stdio.h>
enum { max_size_string = 127 };
static char string[max_size_string + 1] = " ";
int main( int argc, char ** argv ) {
printf("Type a string");
fgets(string, max_size_string, stdin);
printf("The string is %s",string);
return 0;
}
在控制台屏幕中,键入字符串后输入字符串,之后,其他printf正在打印输出。我无法理解执行的顺序。
答案 0 :(得分:3)
我认为问题是printf()
缓冲输出直到
\n
)fflush(stdout)
查看以下内容是否更有意义
printf("Type a string ");
fflush(stdout);
fgets(string, max_size_string, stdin);
printf("The string is %s\n",string); // << Note I've added a line ending
return 0;