动态链表,怎么才能改成像课本上的可以输入输出多次,

http://img.mukewang.com/587c54070001413303580624.jpghttp://img.mukewang.com/587c4ce2000150f007000475.jpg#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
浏览 1449回答 1
1回答

望远

while(toupper(ch=getche())=='Y');//这个不是要输入输出y多次,输入输出多个num,score, //结尾处多了个;循环是空循环体。
打开App,查看更多内容
随时随地看视频慕课网APP