struct name {
char name[256];
struct name* next;
};
void Display(struct name *head) {
struct name *ende = head;
int i = 1;
printf("\nList of names:\n");
while(ende != NULL) {
printf("(%d) %s", i, ende->name);
ende = ende->next;
i++;
}
}
void bubblesort(struct name *head) {
struct name *block,*temp;
char change[256] = "";
for(block = head; block->next != NULL; block = block->next) {
for(temp = head; temp->next != NULL; temp = temp->next) {
if(temp->next == NULL)
break;
if(temp->next->name[0] < temp->name[0]) {
char *element = temp->next->name;
printf("ELEMENT: %s", element);
temp->next->name = temp->name;
temp->name = element;
}
}
}
}我不知道为什么要从temp->name中的temp->next->name写入编译器错误!有人能解释为什么我会出现以下错误:“当分配给char*中的char256类型时不兼容类型”,以及如何解决我的问题?我是C的新手。
发布于 2014-03-11 19:41:39
不能分配数组,只能在定义时对其进行初始化。
但是,可以将其复制到数组中:
strcpy(temp->next->name, temp->name);
strcpy(temp->name, element);阅读关于 here的文章。
https://stackoverflow.com/questions/22334944
复制相似问题