gpt4 book ai didi

c++ - 在链表前面插入节点

转载 作者:行者123 更新时间:2023-11-28 01:55:22 24 4
gpt4 key购买 nike

下面的代码应该在链表的前面添加一个节点并打印当前元素。但是运行这段代码给我运行时错误并且程序终止。当询问有多少数字时,我输入了一个数字,然后显示“main.cpp 已停止工作”。可能出了什么问题?

#include <iostream>
#include <stdio.h>
#include <stdlib.h>

struct Node
{

int data;
Node* next;
};
struct Node* head;
using namespace std;
void Insert(int x)
{
Node* temp=new Node();
temp->data=x;
temp->next=head;
head=temp;


}

void Print()
{
Node* temp1=head;
while(temp1!=NULL)
{
printf("%d\n",temp1->data);
temp1=temp1->next;

}
printf("\n");
}

int main()
{
head=NULL;
printf("how many numbers?\n");
int n,i,x;
scanf("%d",n);
for(i=0;i<n;i++)
{
printf("Enter the number: \n");
scanf("%d",x);
Insert(x);
Print();
}
return 0;

最佳答案

这甚至不是链表问题:

int n,i,x;
scanf("%d",n);

应该是

int n,i,x;
scanf("%d",&n);

(下面还有一个例子)

因为扫描整数需要它们的地址,而不是字符串。

关于c++ - 在链表前面插入节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41419038/

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