m0_67600520 2022-05-08 21:42 采纳率: 40%
浏览 12
已结题

链表输出都一样是哪里出了问题

#include<stdio.h>
#include<malloc.h>
int i;
struct xx
{
int xhao;
struct xx *dd;
};
struct xx *a,*b,*c;
int main()
{
a=b=c=(struct xx *)malloc(sizeof(struct xx));
c->dd=a;
for(i=0;i<5;i++)
{
printf("输入");
scanf("%d",&a->xhao);
b->dd=0;
a->dd=b;
a=b;
}
a=c->dd;
for(i=0;i<5;i++)
{
printf("%d\n",a->xhao);
a=a->dd;
}
return 0;
}

  • 写回答

1条回答 默认 最新

  • 叶落秋白 后端领域优质创作者 2022-05-08 22:16
    关注

    你在分配内存空间时让a,b,c的动态分配内存地址相等了,后面进行除了更换地址的操作,无论怎样赋值这三个地址都不变,值一定相同,只要你把
    a=b=c= struct xx *)malloc(sizeof(struct xx));做出改变就行了,分别分配内存空间就行了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月16日
  • 已采纳回答 5月8日
  • 创建了问题 5月8日

悬赏问题

  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?