gpt4 book ai didi

c - 队列推送不起作用

转载 作者:行者123 更新时间:2023-11-30 17:26:03 27 4
gpt4 key购买 nike

我正在尝试实现一些队列操作,但似乎即使在推送所有元素后,前面仍然为空。在主函数中,我只是读取一些元素并将它们插入队列中。我的代码:

typedef struct nod
{
int info;
struct nod *link;
}tnod;
tnod *front=NULL,*rear=NULL;
void push(tnod *front,int item)
{
tnod *tmp;
tmp=malloc(sizeof(tnod));
if(tmp==NULL)
{
printf("Memorie indisponibila\n");
return;
}
tmp->info = item;
tmp->link=NULL;
if(front==NULL) /*daca stiva e goala*/
{front=tmp; printf("%d",front->info);}
else
rear->link = tmp;
rear=tmp;
}

提前致谢。

最佳答案

您正在使用函数中的 front 隐藏全局变量 front:void push(tnod *front,int item)

当您更改函数中的 front 时,全局 front 不会更改。更改变量名称。

如果您万一将全局变量 front 作为push 函数中的第一个参数传递,那么更改函数中的参数将不会更改全局 front。

关于c - 队列推送不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26896136/

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