雙重指標與排序問題 |
答題得分者是:taishyang
|
超級賽亞人3
一般會員 發表:38 回覆:53 積分:23 註冊:2007-06-05 發送簡訊給我 |
我練習用雙重指標結合排序,程式沒有錯誤,但顯示的結果後面有亂碼
不知是哪邊有問題? [code cpp] //--------------------------------------------------------------------------- #include #include #pragma hdrstop #define SIZE 6 void strbub(char**, int); void swap(char**, char**); //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { char *m[SIZE]={"Michael","Bill","Carlson","Stephanie","Joe","Mary"}; int i; for(i=0;i strbub( m , SIZE); puts(">>--------------------After Sorting:"); for(i=0;i system("pause"); return 0; } void strbub(char **k, int s) { int i,j; for(i=0;i swap(k j ,k j 1); } void swap(char** a,char** b) { char** temp; *temp = *a; *a = *b; *b = *temp; } //--------------------------------------------------------------------------- [/code]
附加檔案:4e828b6876259_q.jpg
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
超級賽亞人3
一般會員 發表:38 回覆:53 積分:23 註冊:2007-06-05 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
超級賽亞人3
一般會員 發表:38 回覆:53 積分:23 註冊:2007-06-05 發送簡訊給我 |
void swap(char** a,char** b) { char** temp; temp = *a; *a = *b; *b = temp; } 我用成上面的方式結果與下面一樣 void swap(char** a,char** b) { char* temp; temp = *a; *a = *b; *b = temp; } 我發現*a與*b原本為"Michael","Bill"原程式是 [code cpp] void swap(char** a,char** b) { char **temp; *temp = *a; *a = *b; *b = *temp; } [/code] 但是經因此結果才會出錯,雖然知道哪邊有錯,但是我還是不知道*temp = *a之後為什麼兩個都會被改掉成"?@" |
rick060
高階會員 發表:2 回覆:112 積分:217 註冊:2009-11-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |