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 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了