第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

動(dòng)態(tài)鏈表錯(cuò)哪了,怎么只能輸入輸出一次

動(dòng)態(tài)鏈表錯(cuò)哪了,怎么只能輸入輸出一次

C
溯源1 2017-01-21 22:40:40
#include "stdio.h"#include<malloc.h>#include<string.h>#include<ctype.h>#define LEN struct studentstruct student{ int num; int score; struct student*next;};struct student*create(){ char ch;? ? struct student *head;? ? struct student*p1,*p2;? ? int a=0;? ? printf("是否輸入新數(shù)據(jù):\n");? ? while(toupper(ch=getchar())=='Y')? ? {? ? ? p1=(LEN*)malloc(sizeof(LEN));? ? ? scanf("%d%d",&(*p1).num,&(*p1).score);? ? ? 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學(xué)號(hào):%d,成績(jī):%d",p->num,p->score); p=p->next; }}void main( ){ print(create());}
查看完整描述

1 回答

已采納
?
zy112

TA貢獻(xiàn)8條經(jīng)驗(yàn) 獲得超10個(gè)贊

getchar() 會(huì)接受回車(chē), 所以你在輸入了學(xué)號(hào)和成績(jī)之后,你會(huì)輸入回車(chē),然后getchar() 就會(huì)接受回車(chē), 不等于 Y , 所以輸入就結(jié)束了, 你在while 后面輸入一個(gè)getchar()就可以了。。如下。

struct?student*create()
{
char?ch;
????struct?student?*head;
????struct?student*p1,*p2;
????int?a=0;
????printf("是否輸入新數(shù)據(jù):\n");
????while(toupper(ch=getchar())=='Y')
????{

??????p1=(LEN*)malloc(sizeof(LEN));
??????scanf("%d%d",&(*p1).num,&(*p1).score);
??????a++;
??????if(a==1)
???????head=p1;
??????else
???????(*p2).next=p1;
??????p2=p1;
??????p1->next=NULL;
??????
??????getchar();

??????}
????return(head);
}


查看完整回答
1 反對(duì) 回復(fù) 2017-01-22
  • 1 回答
  • 0 關(guān)注
  • 1470 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)