1
似乎无法解决为什么我打印内容时从此链接列表结构中获取垃圾输出。链接列表创建 - 垃圾输出?
我的目标是添加任何东西到列表中,一些字符串,char字符,它应该反向打印出来。 Im为Head + Tail使用额外的Struct的原因是,我可以打印出订单行,并且也可以反向输入。
typedef struct List {
char c;
struct List *next;
}List;
typedef struct {
List *head;
List *tail;
}FullList;
List* InsertList(int hd, List* t1) {
List *t = (List*)calloc(1,sizeof(List));
t->c = hd;
t->next = t1;
return t;
}
FullList addToStart(FullList c, char element) {
if (c.head == NULL) {
c.head = c.tail = InsertList(element, NULL);
}else {
c.head = InsertList(element, c.head);
}
return c;
}
int main(void) {
FullList InOrder;
FullList Reverse;
InOrder.head = NULL;
Reverse.head = NULL;
char c;
while ((c = getchar() != '.')) {
InOrder = addToStart(InOrder, c);
}
while (InOrder.head->next != NULL) {
printf("%c", (InOrder.head->c));
InOrder.head = InOrder.head->next;
}
return 0;
}
+1。你不知道为什么编译器警告被忽略.... –
干杯,虽然它似乎跳过了我输入的第一个字母例如:你好,打印olle,但没有H. – PnP
仍然不能得到最后的字符打印出于某种原因,它只是完全跳过它。 – PnP