#include "stdio.h"#include<malloc.h>#include<string.h>#define LEN sizeof(struct student)struct student{int num;int score;struct student*next;};struct student*create(){ char ch; struct student *head; struct student*p1,*p2; int a=0; printf("是否输入新数据:(y/n)"); while(toupper(ch=getche())=='Y');//这个不是要输入输出y多次,输入输出多个num,score,直到ch不等于y,但是为什么只有输入输出一次 { p1=(struct student*)malloc(LEN); printf("\n请输入:"); scanf("%d%d",&p1->num,&p1->score); printf("是否输入新数据:(y/n)"); a++; if(a==1) head=p1; else p2->next=p1; p2=p1; p1->next=NULL; } return(head);}void print(struct student *head){struct student *p;p=head;while(p!=NULL){printf("\n学号:%d,成绩:%d",p->num,p->score);p=p->next;}}void main( ){struct student *stu;stu=create();print(stu);}
1 回答
已采纳
望远
TA贡献1017条经验 获得超1032个赞
while(toupper(ch=getche())=='Y');//这个不是要输入输出y多次,输入输出多个num,score, //结尾处多了个;循环是空循环体。
- 1 回答
- 0 关注
- 1466 浏览
添加回答
举报
0/150
提交
取消