У меня есть следующий фрагмент кода:fgets конфликт при чтении некоторое значение и нажав клавишу ввода
int val;
scanf("%d", &val);
char *c = malloc(MAX * sizeof(char));
fgets(c, MAX, stdin);
puts(c);
free(c);
, который должен в основном читать некоторое целое значение имени, а затем текст (MAX символов).
Дело в том, что когда я запустил его и, например, введите 10 (val = 10), а затем нажмите enter, он «перепрыгнет» через fgets. Я думаю, что это происходит, потому что символ новой строки заставляет fgets останавливать чтение.
Как исправить эту программу, чтобы она позволила мне ввести значение val, нажать enter и после этого ввести текст?
Спасибо!