我有以下代碼:C字符串和指針
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
struct wordlist {
char *value;
struct wordlist *next;
};
int compare (struct wordlist *one , struct wordlist *two) {
return strcmp(one->value, two->value);
}
void add(struct wordlist *pp, char *value) {
struct wordlist *new;
new = malloc(sizeof(*new));
new->value = value;
for (; pp != NULL; pp = pp->next) {
if (compare(pp, new) > 0) {
break;
}
}
new->next = pp;
pp = new;
}
void display(struct wordlist *ptr) {
for (; ptr != NULL; ptr = ptr->next) {
printf("%s\n", ptr->value);
}
}
打破它在中間才能提交。對不起
int main(void) {
struct wordlist *root = NULL;
add(root, "item1");
add(root, "item2");
add(root, "item4");
add(root, "item3");
display(root);
return 0;
}
應該打印出來
物品1 ITEM2項目3 ITEM4
但它不打印任何東西,我不明白爲什麼。
是啊,我也是,,,,,爲什麼不能'改變(5);'不會改變'5' ..:d –
笑,我理解的代碼,但我不能看到任何理由它不會工作 – Yonlif
哪條線? @TonyTannous – Yonlif