你好,我有一个具有不同名称的数组,我需要将他们的姓氏放入不同的数组中
#include <stdio.h>
#include <string.h>
char ame[100][100] = {"Charles Thompson","Andy Hardy","Christopher de Charls-morson"};
char surname[100][100];
int main(void) {
for(int i=0;i<4;i++){
char *last = strrchr(name[i], ' ');
if (last != NULL) {
printf("Last token: '%s'\n", last+1);
surname[i]=(last+1); // <----problem part
}
}
}
如果我写出surnamei行,代码就会工作并打印出他们的姓氏,我就是不能把它添加到数组中
所需输出:
for(int k=0;k<4;k++){
printf(surname[k]); // <--just to test print
}
会导致
Thompson <- surname[0] position
Hardy <- surname[1] position
Charls-morson <- surname[2] position
根据赋值,我应该根据空格来分隔它,姓氏用-是可以的,而且它也需要是字符串,因为稍后我需要做一个函数,将输入姓氏与数组进行比较,并找到它的位置
发布于 2021-11-15 12:38:50
我替换了:
surname[i]=(last+1);
通过以下方式:
strcpy(surname[i],(last+1))
而且它起作用了。
https://stackoverflow.com/questions/69980448
复制相似问题