首页 > 解决方案 > C:将字符串复制到字符串列表中

问题描述

所以我有一个姓名和相应电话号码的列表,我希望用户能够不断地在该列表中输入一个新的姓名-号码对。我尝试执行此操作的代码部分如下所示:

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() 部分没有得到的东西。感谢您的帮助!

标签: cstringstrcpy

解决方案


尝试这个

        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);

推荐阅读