【发布时间】:2018-02-22 13:27:34
【问题描述】:
我是 C 编程的新手,我正在编写一个程序来为用户输入的字符串列表附加前缀。 这是一段 sn-p 代码。
char names[5][20], prefix[5];
int i=0;
// accept 5 names and a prefix
printf("Please enter the 5 names and a prefix\n");
for(i;i<=4;i++ )
{
printf("Enter name %d\n ",i+1);
scanf("%s", &names[i]);
}
printf("prefix: \n ");
scanf("%s", &prefix);
printf("\n\n\n");
for(i=0;i<=4;i++)
{
strcat(prefix,names[i]);
printf("%s\n", prefix);
}
我的问题是,不是在输入的下一个字符串中添加前缀,而是将它们全部列出。
这就是我的意思:
Please enter the 5 names and a prefix
Enter name 1
i
Enter name 2
c
Enter name 3
h
Enter name 4
a
Enter name 5
e
prefix:
m
mi
mic
mich
micha
michae
【问题讨论】:
-
strcat()不能那样工作。 -
strcat()中的cat更多地代表“复制到末尾”而不是“连接到”。