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

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

動(dòng)態(tài)鏈表怎么只能輸入一次,錯(cuò)哪了?要實(shí)現(xiàn)多次輸入輸出,怎么改?

動(dòng)態(tài)鏈表怎么只能輸入一次,錯(cuò)哪了?要實(shí)現(xiàn)多次輸入輸出,怎么改?

C
溯源1 2017-01-15 11:49:24
#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("是否輸入新數(shù)據(jù):\n");? ? while(toupper(ch=getche())=='Y');? ? {? ? p1=(struct student*)malloc(LEN);? ? printf("\n請(qǐng)輸入:");? ? scanf("%d%d",&p1->num,&p1->score);? ? printf("是否輸入新數(shù)據(jù):\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學(xué)號(hào):%d,成績(jī):%d",p->num,p->score); p=p->next; }}void main( ){ struct student *stu; stu=create(); print(stu);}
查看完整描述

2 回答

已采納
?
zy112

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

??if(a==1)?head=p1;
??else?p2->next=p1;
????p2=p1;
????p1->next=NULL;

你的代碼這里有問(wèn)題,到底想干啥呢??我建議你寫if else 的時(shí)候最好加上括號(hào),這樣不會(huì)混,而且你的返回值是返回 head, 但是else里面根本沒(méi)有 head的事,同時(shí),main里面,你要循環(huán)輸出的時(shí)候,只輸出一個(gè)嗎?如果有多個(gè)的話應(yīng)該怎么辦呢?是不是應(yīng)該判斷一下。這是主要的問(wèn)題,你可以自己先改改看 ,實(shí)在改不了的話,就回復(fù)我一下,不會(huì)的我在和你說(shuō)說(shuō),或者改了給你看看也行。。

查看完整回答
1 反對(duì) 回復(fù) 2017-01-15
  • 溯源1
    溯源1
    改成這個(gè),前輩看下,要實(shí)現(xiàn)多次輸入輸出,怎么改? #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("是否輸入新數(shù)據(jù):\n"); while(toupper(ch=getche())=='Y'); { p1=(struct student*)malloc(LEN); printf("\n請(qǐng)輸入:"); scanf("%d%d",&p1->num,&p1->score); printf("是否輸入新數(shù)據(jù):\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學(xué)號(hào):%d,成績(jī):%d",p->num,p->score); p=p->next; } } void main( ){ struct student *stu; stu=create(); print(stu); }
  • zy112
    zy112
    你這個(gè)寫的沒(méi)大問(wèn)題,就是while 輸入 Y 的時(shí)候,后面應(yīng)該沒(méi)有分號(hào),while(toupper(ch=getche())=='Y'); 然后我試了一下,可以多次輸入的。
?
lay3

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

你這樣寫代碼是會(huì)下崗的
查看完整回答
反對(duì) 回復(fù) 2017-01-16
  • 2 回答
  • 0 關(guān)注
  • 1709 瀏覽

添加回答

舉報(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)