想问下为什么这样不对啊,一直输出0
1条回答 默认 最新
- qzjhjxj 2021-10-12 23:53关注
修改如下,供参考对照:
#include<stdio.h> #include<malloc.h> typedef struct student{ int score; struct student *next; }list; struct student* create(){ int i=0; struct student *head,*middle,*end; head = (list *)malloc(sizeof(list)); head->next = NULL; middle = head; while(1){ end = (list *)malloc(sizeof(list)); end->next = NULL; printf("请输入第%d个学生的分数:",i+1); scanf("%d",&end->score); if(end->score == -1) break; //-1 结束输入 if(i==0) { head->next = end; } else{ middle->next = end; } middle = end; i++; } free(end); return head; } void print(struct student *a) { struct student *p; p = a->next; while(p) { printf("%d ",p->score); p = p->next; } printf("\n"); } int main() { list *p; p = create(); print(p); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作