C: скопировать строку в список строк - PullRequest
0 голосов
/ 20 апреля 2020

Итак, у меня есть список имен и соответствующих телефонных номеров, и я хочу, чтобы пользователь мог непрерывно вводить новую пару имя-номер в этот список. Часть моего кода, где я пытаюсь это сделать, выглядит примерно так:

char name[20], list_names[1000][20], phone[20], list_phone[1000][20];
int n;

n = 0;
do
{
   printf("Enter name: ");
   scanf("%20[^\n]", name);

   printf("Enter phone number of %s: ", name);
   scanf("%20[^\n]", phone);

   strcpy(list_names[n], name);
   strcpy(list_phone[n], phone);

   n += 1;
}
while (n < 1000);

Обычно это выдает ошибку типа «несовместимый тип указателя». Я должен сделать это косвенным путем и сначала сохранить имя в отдельной переменной. Но как мне получить строку из этой переменной в список? Вероятно, есть кое-что, чего я не понимаю в части strcpy (). Спасибо за помощь!

1 Ответ

1 голос
/ 20 апреля 2020

попробуйте

        printf("Enter name: ");
        scanf(" %19[^\n]", name);//add one space and turn 20 to 19 (leave space for '\0')

        printf("Enter phone number of %s: ", name);
        scanf(" %19[^\n]", phone);
...