线性表顺序存储这样写,运行结果为什么显示表元素会是空的,代码哪里有问题
5条回答 默认 最新
- dahe0825 2023-03-12 21:58关注
参考GPT和自己 的思路,在代码中,读取输入字符的语句使用了scanf("%c",&L->data[i]),但是输入时输入的字符带有回车符(\n),回车符也被读取到了字符数组中,导致读入字符的数目少于期望值。因此,输出时表中的元素都为空。
为解决这个问题,可以在读取字符前添加一个空格。
下面是BuildList函数修改后的代码:
void BuildList(SeqList *L) { int i; printf("ÈôÄãÊäÈëµÄÊý¾ÝΪ'0'ʱ£¬Ôò½áÊøÊäÈë\n"); for(i=0;i<100;i++) { printf("ÊäÈëÊý¾Ý:"); scanf(" %c",&L->data[i]); // 在这里添加了一个空格 if(L->data[i]=='0') break; L->last++; } if(i==99) printf("ÎÞ·¨¼ÌÐø´´½¨£¡\n"); printf("*************´´½¨³É¹¦£¡*************\n"); }
希望能帮你解决问题,还请采纳!!!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程
- ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
- ¥15 关于smbclient 库的使用
- ¥15 微信小程序协议怎么写
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?