gpt4 book ai didi

c++ - 为什么我的 printList 函数不起作用?

转载 作者:行者123 更新时间:2023-11-28 01:12:27 25 4
gpt4 key购买 nike

#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);
}
cout << head->item << endl;
cout << head->next->item << endl;
printList(head);
return 0;
}

void inputChar(Node *p)
{
c = getchar();
while ( c != '.' )
{
p->next = new Node;
p->next->item = c;
p = p->next;
c = getchar();
}
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;
p = p->next;
}
}
}

该程序每次从用户那里获取一个字符的输入,并将其放入链表中。 printList 然后尝试打印链表。在 main 中调用 printList 之前的 cout 语句工作正常,但由于某些原因 printList 函数在 while 循环中挂起。

最佳答案

if(p = NULL)

这就是你的问题。应该是

if(p == NULL)

关于c++ - 为什么我的 printList 函数不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1892050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com