C語言的一個指標問題 |
尚未結案
|
dragonliu01
一般會員 發表:19 回覆:16 積分:7 註冊:2004-12-21 發送簡訊給我 |
題目是這樣的:
例如陣列大小為3,輸入資料為1,2,3;轉換1個空格(pos),印出為312 以下為我寫的程式碼,不過印出為111...
麻煩大大幫我看看錯誤吧>_< #include
|
justdo
高階會員 發表:2 回覆:359 積分:222 註冊:2004-08-17 發送簡訊給我 |
|
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
dragonliu01 您好: 在不改變您的程式邏輯下,建議有兩個地方需要修正:
1. int *array; //只是宣告一個指標變數,並不保證提供足夠得記憶體空間儲存資料。
int array[10]; // 或您需要的長度
2.在cshift_array(.)中,您交換數值前並未將原有的值儲存起來,所以有些舊值會被覆蓋掉,底下程式您請參考:
void cshift_array(int *array,int length, int pos) { int i,p,temp; for (p=0; p0;i--) { *(array i)=*(array i-1); } *array = temp; } }RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====##### |
dragonliu01
一般會員 發表:19 回覆:16 積分:7 註冊:2004-12-21 發送簡訊給我 |
|
dragonliu01
一般會員 發表:19 回覆:16 積分:7 註冊:2004-12-21 發送簡訊給我 |
|
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |