1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38  | #include <stdio.h>
struct ListNode
{
    struct ListNode *next;
    char            id;
};
struct ListNode c, a, b;
int printList(const struct ListNode *listNode);
int
main(void)
{
    a.id = 'a';
    a.next = &b;
    b.id = 'b';
    b.next = &c;
    c.id = 'c';
    c.next = 0;
    printList(&a);
    putchar('\n');
}
int
printList(const struct ListNode *listNode)
{
    for (; listNode; listNode = listNode->next) {
        putchar(listNode->id);
    }
    return 1;   // because we need to return something
}
 |