看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《jacky1989 (幻想的夢境)》之銘言: : 我最近在寫link list : 不過遇到一點小問題 : #include<alloc.h> : struct list{ : float coef; : int exp; : struct list *nx; : }; : struct list *p1,*fr,*nw,*dl; : void main() : { : int x,a[]={5,0,4,1,3,2},b[]={6,0,9,2},i; : float y; : p1=(struct list *)malloc(sizeof(struct list)); : nw=(struct list *)malloc(sizeof(struct list)); : fr=p1; for(i=1;i<6;i+=2){ fr->exp=a[i]; //1. nw->nx=fr; //2. fr=nw; //3. nw=0; //4. } i=1 1. 略 2. 略 3. 略 4. nw=0 i=3 1. 略 2. nw是null : while(fr!=NULL){ : printf("p1x=%d\n",fr->exp); : dl=fr; : fr=fr->nx; : free(dl); : } : } : 我run的時候 : 都會顯示 : Null pointer assignment : 如果不用while寫 : 是可以勉強run的出來 : 不過不管怎麼弄都會有 : Null pointer assignment : 這該怎麼解決阿?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.1.49
jacky1989:不過我是印fr耶,nw是NULL也會影響嗎? 12/13 15:45
jacky1989:那我是該把4拿掉囉? 12/13 15:45
LPH66:就是在 i=3 時 //2 的地方 nw 是 NULL nw-> 才出事 12/13 15:45
LPH66:你應該要想想你的 nw 是要拿來幹麼的 12/13 15:46
jacky1989:咦?好像是耶,我似乎都沒仔細思考nw存在的意義 12/13 15:47
jacky1989:那while那邊怎麼會出問題?變成無窮迴圈耶 12/13 15:49