m0_56364076 2021-10-01 19:50 采纳率: 85.7%
浏览 28
已结题

为什么换不了行呢?调试了一下就出现这个奇怪的对话框

img

img


2.c

#include<stdio.h>
#define CHR
#define e1 5
typedef char etype;
#include"(2).h"
void main()
{
sqlist *L;
etype a[]={'a','b','c','d','e'};
int len;
initl(L,len);
charu(L,a,e1,len);
displ(L);
//输出表长
printf("%d \n",llen(len));

}

img


代码如下
2.h
#include<stdio.h>
#include<stdlib.h>
typedef struct sqlist2
{
etype data;
struct sqlist2 * next;
}sqlist;
int len;
//运算一(初始化)
void initl(sqlist * &L,int len1)
{
L = (sqlist *)malloc(sizeof(sqlist));
len1 = 0;
}
//插入a,b,c,d,e
void charu(sqlist *&L,etype a[10],int e,int &len1)
{
sqlist *p1,*p2;
int i;
p1 = L;
for(i=0;i<e;i++)
{
p2 = (sqlist *)malloc(sizeof(sqlist));
p1->next = p2;
p1 = p2;
p1->data = a[i];
}
len1 = i;
}
//运算二(销毁)
void destroyl(sqlist * &L,int len1)
{
free(L);
len1 = 0;
}
//运算三(判空)
bool lempty(sqlist * &L,int len1)
{
return(len1==0);
}
//运算四(求表长)
int llen(int len1)
{
return(len1);
}
//运算五(输出表)----------------------------------
void displ(sqlist * &L)
{
sqlist *p;
p = (sqlist *)malloc(sizeof(sqlist));
p = L;
while(1)
{
p = p->next;
if(p == NULL)
break;
#ifdef INT
printf("%d ",p->data);
#endif
#ifdef CHR
printf("%c ",p->data);
#endif
}
//putchar('\n');
printf("\n");
}
//运算六(获得ai)
bool gete(sqlist * L,int j,etype &e,int len1)
{
int i;
sqlist *p;
if(i<1||i>len1)
return false;
p = (sqlist *)malloc(sizeof(sqlist));
p = L;
while(1)
{
i++;
p = p->next;
if(i>=j)
{
break;
}
}
e = p->data;
}

  • 写回答

1条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2021-10-01 20:56
    关注

    p->data, p->next 初始化了么?

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

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 修改了问题 10月1日
  • 修改了问题 10月1日
  • 展开全部

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度