我是一名初學者,所以我的理念給了我一個完成的任務,在這個任務中我需要在鏈表中輸入幾個字符串,並且在我輸入打印之後,他們需要打印按照正確的順序,從第一個到最後一個。單鏈表C打印
這裏是我的了:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct Node {
char data;
struct Node *next;
}node;
char createlist(node *pointer, char data[100]) {
while (pointer->next != NULL) {
pointer = pointer->next;
}
pointer->next = (node*) malloc(sizeof(node));
pointer = pointer-> next;
pointer->data = *data;
pointer->next = NULL;
}
int main() {
node *first, *temp;
first = (node*) malloc(sizeof(node));
temp = first;
temp->next = NULL;
printf("Enter the lines\n");
while (1) {
char data[100];
gets(data);
createlist(first, data);
if (strcmp(data, "print") == 0)
printf("%s\n", first->data);
else if (strcmp(data, "quit") == 0)
return (0);
};
}
當我運行它,我得到: 輸入線: asdfasdf 打印 (空)
任何幫助,因爲這可以理解爲我的第一次使用鏈接列表。
注意,他們說[你不應該投的malloc'()的結果在'C](http://stackoverflow.com/questions/605845/do -i-鑄造了對結果的-的malloc)。 – MikeCAT
你不應該使用'gets()',它具有緩衝區溢出的不可避免的rsik。 – MikeCAT
您應該首次使用調試器。 –