Ich bin ein Anfänger der Programmierung. Ich habe eine Funktion geschrieben, um Eingaben in die verknüpfte Liste zu scannen. Aber es funktioniert nicht. Kann mir jemand helfen, das Problem zu finden?Scan-Eingänge zu verketteten Liste
ListNode *BuildList() {
char discard;
ListNode *list,*list2=NULL;
list = (ListNode*)malloc(sizeof(struct ListNode));
if ((scanf("%d%1[^\n]s", &list->val, &discard)) == 2) {
list->next = BuildList();
printf("%d ", list->next->val);
}
else
{
list->next = NULL;
}
return list;
}
und ListNode als
struct ListNode {
int val;
ListNode *next;
};
Danke definiert!
Willkommen bei Stack Overflow! [Bitte lesen Sie die Diskussion darüber, warum der Rückgabewert von 'malloc()' und die Familie in 'C' nicht umgewandelt werden soll.] (Http://stackoverflow.com/q/605845/2173917). –
"funktioniert nicht" ist keine nützliche Problemstellung. Bitte lesen Sie diese https://ericlippert.com/2014/03/05/how-to-debug-small-programs/ – StoryTeller
1) '"% d% 1 [^ \ n] s "' ist falsch. – BLUEPIXY