#include <iostream>
using namespace std;
struct Node
{
char item;
Node *next;
};
void inputChar (Node *);
void printList (Node *);
char c;
int main()
{
Node *head;
head = NULL;
c = getchar();
if (c != '.')
{
head = new Node;
head->item = c;
inputChar(head);
}
printList(head);
return 0;
}
void inputChar(Node *p)
{
getchar();
while (c != '.')
{
p->next = new Node;
p->next->item = c;
inputChar(p->next);
}
p->next = new Node; // dot signals end of list
p->next->item = c;
}
void printList(Node *p)
{
if(p = NULL)
cout << "empty" <<endl;
else
{
while (p->item != '.')
{
cout << p->item << endl;
printList(p->next);
}
}
}
我想製作一個由用戶輸入的字符鏈表。一段時間表示輸入結束。我的程序一直循環在inputChar函數上。有任何想法嗎?爲什麼我的inputchar函數保持循環?
確定添加c = getchar()停止了循環。 – Brandon 2009-12-11 14:10:11
我認爲你需要了解全局變量,以及爲什麼他們是一個壞主意。 – 2009-12-11 14:15:51
好的。我把時間改爲if。 – Brandon 2009-12-11 14:16:17