Я новичок в программировании на C++, и перед вами стоит проблема, связанная с учебниками lynda.com. Это похоже на видео, но это не работает со мной.Printf does not pop
#include <stdio.h>
enum { max_string = 127 };
static char string[max_string + 1 ] = "";
int main(int argc, char ** argv) {
printf("Type a string: ");
fgets(string, max_string, stdin);
printf("The string is %s", string);
return 0;
}
И когда я запускаю это что-то пустой появляется, и мне нужно, когда я право что-то вроде «эй» в одеяло пространстве, это происходит:
hey
Type a string: The string is hey
Это совершенно странно для меня, и у меня есть не знаю, что я делаю неправильно tbh. Я использую Eclipse кстати.
Может ли кто-нибудь помочь мне?
Возможно, это не каноническое решение, а добавление 'fflush (stdout);' после первого выражения 'printf', которое должно это сделать. –
Учебное пособие по C++, в котором вам предлагается использовать статический массив символов для ввода пользователем и printf/fgets? * Run! * – us2012
http://stackoverflow.com/questions/1716296/why-does-printf-not-flush-after-the-call-unless-a-newline-is-in-the-format-strin – jogojapan