我试图得到一个整数索引列表,即我放在aab我得到97 97 98,我希望每个这些索引在常规数组中。2元素数组列表中的C
typedef struct element {
struct element *next;
int value;
int index;
} listElements;
的事情是,当我给你pointer -> index = integer; integer++
,然后printf
它,值列打印就像它应该是a a b
但索引列的打印2 0 1
。我哪里做错了?
编辑:更多的代码
int addToList (listElements *list, int character, int integer) {
listElements *pointer, *element;
pointer = list;
while (pointer -> next != NULL) {
pointer = pointer -> next;
}
element = (listElements*) malloc (sizeof (listElements));
element -> value = character;
element -> index = integer;
integer++;
element -> next = NULL;
pointer -> next = NULL;
return integer;
}
void printList (listElements *list) {
listElements *pointer = list;
while (pointer != 0) {
printf ("%d %d\n", pointer -> value, pointer -> index);
pointer = pointer -> next;
}
}
int main() {
char character;
first = (listElements*) malloc (sizeof (listElements));
first -> value = character = getchar();
first -> index = 0;
first -> next = NULL;
while ((character = getchar()) != 'Q') {
first -> index = addToList (first, character, first -> index);
}
printList (first);
return 0;
}
没有线索你在问什么。什么是“aab”?请显示相关代码。 – OldProgrammer
显示构建列表的代码。 – trojanfoe
您的代码显示无法打印。你的印刷值在哪里? – OldProgrammer