169 похожих чатов

Приветствую, у меня трабл. Надо получить от пользователя число( максимальное

колво символом в строке) и саму строку. Я написал вот это:
int main(void) {
int N;
printf("N: ");
scanf_s("%d\n", &N);
char* str = (char*)malloc(N);

printf("Enter a string:");
fgets(str, N, stdin);
printf("\nstring: %s", str);

return 0;
}

Сама проблема в том, что fgets() запускается раньше чем printf(), как фиксить?

7 ответов

16 просмотров

Почему вы используете fgets? Это функция для чтения файла. Кроме того вы не освобождаете динамическую память с помощью free (str) в конце

Полагаю ваша проблема скорее всего крутиться вокруг \n в scanf_s, вы очень стремно обявили динамическую память и не высвободили ее ну и зачемто используете fgets.

Ілля- Автор вопроса

Должен сделать ещё уточнение, длина строки может быть меньше заданного числа

Что значит "раньше, чем printf"? Какой именно из printf?

Ілля- Автор вопроса
Alexander "Ternvein" Isaev
Что значит "раньше, чем printf"? Какой именно из p...

"Enter a string" появляется после ввода самой строки

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
75
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
35
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Я тут пытаюсь переработать архитектуру подсистемы памяти ядра во что-то осмысленное. Есть pmm, который создает набор range’ей(пока что только для ядра, потом для юзерспейса), ...
Evg Resh
15
Вопрос, вот задание https://stepik.org/lesson/7602/step/9?unit=1473 вот код и ошибка, удивляет, что требуется еще и Semigroup так и должно быть, или я опять делаю ошибки ? htt...
Fedor
14
Проблема с Windows scripting control Множество объектов получают iDispatch обертки и отдаются в скрипты. При этом скрипты могут эти обертки держать живыми очень долго, наприм...
Arioch The
16
Вообще, меня бы даже такой вариант, наверное устроил бы: try tag.Read(0); finally end; Но этот AV не ловится и программа завершается Exception EAccessViolation in module C...
notme
12
Скажите, можно ли как-то "переместить" динамический массив из одной переменной в другую? Скажем, переместить из TList<> в TArray<>. Именно переместить, а не скопировать. Если ...
Eugene Krasnikov (ᴊɪɴ x)
37
Карта сайта