永发信息网

C++程序改错

答案:2  悬赏:0  手机版
解决时间 2021-03-25 09:57
C++程序改错
最佳答案
#include
#include
#define LEN sizeof(struct node)
struct node 
{int data;
 struct  node *next;    
};

int main()
{
struct node *head=NULL,*p,*q;
int i,n=4;
for(i=1;i<=n;i++)
{
p=(struct node*)malloc(LEN);
printf("请输入第%d个结点数据:",i);
scanf("%d",&p->data);
//原来的程序把新加的节点置于链表的最前,修改后,新节点置于链表最后 
p->next=NULL;
if (head==NULL) //如果还没有节点,head=新节点 
head=p;
else{
q=head;
while(q->next!=NULL) q=q->next; //找出最后一个节点 
q->next=p;  //最后一个节点的next指向新节点 
}
//p->next=head;
//head=p;
}
p=head;
while(p!=NULL)
{
if(p->next!=NULL)
{
q=p->next;
p->data=p->data + q->data;
p->next=q->next;
free(q);
}
p=p->next;
}

p=head;  //要输出数据,要先把p重新定为链表头 
do
{printf("%d ",p->data);
p=p->next;
}while(p!=NULL);

return 0;
}追问顺便问一下,为什么38行要free(q)
全部回答
for(i=1;i<=n;i++)
{
p=(struct node*)malloc(LEN);
printf("请输入第%d个结点数据:",i);
scanf("%d",&p->data);
p->next = head;
struct node *q = head;
while(node->next != head)
node = node->next;
node->next = p;
}追问还是不行啊
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有无:别开生动这个词
乔杉和韩国老师干上了,这老师被整的太惨了那
今不恤士卒而徇其私,非社稷之臣什么意思
美赞臣蓝臻奶粉和美赞臣A+奶粉有什么区别
吐槽大会池子说蛋蛋是森女是什么意思?
1933年8月1日颁发的三等红星章现在值多少钱?
X乘6分之5等于15分之2 解方程
想入个荣耀8,怎么官方都没卖的,停售了吗
晚上喝了一杯茶(红茶)现在睡不着了咋办?
什么鱼可以和银龙一起养不要罗汉鹦鹉
男邀请女的去听音乐会,她说不想去
电视剧小丈夫演员女装
睡房柱角冲射怎么化解,睡房四周都有柱角床不
篮球怎么五次会下场?
雪莲健康服务中心我想知道这个在什么地方
推荐资讯
陆地夫妇真正关系是什么?
那种乐器最能抒发人的心情
动车和高铁一样吗
已知6X一2与4X—8互为相反数,求X的值
the driver looked at the passenger to get
用心创造自我是什么意思
年抛美瞳是从开封那一天算起还是从生产的那天
变频到底好在哪
求助:JXLU 是哪个船运公司的缩写?请高手帮
不要那么霸气,要显得我很珍贵,要显出我在你心
我的未来生活超市(友好街)怎么去啊,有知道地
赵某对某办公软件进行解密并制成光盘,网上销
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?