то, что я пытаюсь сделать, это создать цикл, который собирает строку (в данном случае это имя), а затем задает вопрос пользователю по запросу персонажа, хочет ли он продолжайте вставлять больше.Невозможно создать правильный цикл сбора данных - C
#include <stdio.h>
#include <string.h>
void main(){
char c, str[5][20];
int i=0;
do {
printf("What's your name?\n");
gets(str[i]);
i++;
printf("Do you want to insert more?\n");
scanf("%c\n",&c);
} while (c=='y');
}
Количество строк, которые я прочитал, и их длина произвольны и не то, что у меня возникают проблемы с, было просто интересно, если там был «правильный путь» использования такого рода приобретения или если я должен отказаться от него.
Пожалуйста, опишите текущее поведение вашей программы, включая то, что неправильно/отсутствующее поведение у него есть. Но да, это определенно возможно сделать то, что вы хотите. Общий подход - выбрать MAX_LENGTH для каждой строки и использовать динамическое распределение памяти для каждого имени. – kaylum
Пожалуйста, не используйте 'gets'. Он подвержен многим проблемам, включая безопасность. Вместо этого попробуйте использовать 'fgets'. – MateoConLechuga
В чем ваш вопрос? – melpomene