c語言 程式一開即被終止。求指教。連結串列,輸入一組數(以 1結尾),輸出最大最小值及和

2022-05-14 19:11:01 字數 1677 閱讀 9474

1樓:

currentptr=null;

while(currentptr->number!=-1);null 在dos時代是中斷向量表,windows 時代是保護區

currentptr->number 一應定會出錯,沒有任何理由就退出來了!

以後的**沒有任何機會執行!

改成do {}while();好了;也可以先安排一個空的頭節點。head=new

struct note;head->nextptr=null;

scanf("%d",&tptr->number);//加取地址符號否?要加&

scanf("%c",&ch);//需要吃掉空格嗎? 不要吃掉空格

2樓:

while(currentptr->number!=-1) //currentptr還沒有賦值就訪問當然要死掉

中斷改一段:

headptr = (struct note*)malloc(sizeof(struct note));

currentptr = headptr;

while(scanf("%d",¤tptr->number),currentptr->number != -1)

free(currentptr);

替換掉輸入迴圈的一段,下面我沒時間看了 上班中

3樓:匿名使用者

#include

#include

#include

struct note

; int main()

else

total+=currentptr->number;

} p->nextptr=null;

printf("the maximum,minmum and the total are:%d %d %d\n",max,min,total);

system("pause");

return 0;}

4樓:匿名使用者

#include

struct note

; int main()

scanf("%d",headptr->number);//加取地址符號否?

scanf("%c",&ch);//需要吃掉空格嗎?

currentptr->nextptr=malloc(1*sizeof(struct note));

} currentptr->nextptr=null;

currentptr=headptr;//統計最大值、最小值及和

max=currentptr->number;

min=currentptr->number;

total+=currentptr->number;

currentptr=currentptr->nextptr;

while(currentptr!=null)

if(min>currentptr->number)

total+=currentptr->number;

currentptr=currentptr->nextptr;

}printf("the maximum,minmum and the total are:%d %d %d\n",max,min,total);

system("pause");

return 0;}

求c語言大神指教,這個程式哪有錯

你是指運算結果不是你想要的嗎?你的sum應該定義成double或者float型別,使用小數計算1 1 2 1 3 1 4.並且你的sign deno應該轉成小數型別,不然都會轉成int,只取1 2,1 3.整數部分都是0。如下 include int main printf f n sum retu...

求用C語言編寫程式,求用C語言編寫一個程式

5fen.由於分數太少,我就寫一個簡單的,本函式可以擴充套件 吧分給我吧 引數 檔名 返回值 字元數 int count char filename return ret 想學好,最好能自己寫。你可以多看看別人寫的,也好為自己寫打下基礎。用c語言編寫一個程式,求a b的絕對值 的和.include ...

一道c語言程式改錯題!求解,求一道c語言程式改錯題!!謝謝

您好,很高興回答您的問題。不過您要把相關的題目要求和程式截圖出來哦,這樣才能更好地來分析和解決問題。內容來自使用者 邱刀魚 第12次上機程式 改錯第1題 程式改錯 功能 求二分之一的圓面積,函式通過形參得到圓的半徑,函式 返回二分之一的圓面積。例如 輸入圓的半徑值 19.527輸出為 s 598.9...