我試圖得到一個整數索引列表,即我放在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