看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《grayyoung (灰狼)》之銘言: : char setname(char name[20],char set[20]){ : char temp[20],start[50],end[20]; : int g=0; : for(int i=0;i<20;i++,g++){ : if(name[i]=='.') break; : start[i]=name[i]; : } : for(int i=0;i<20;i++,g++){ : end[i]=name[g]; : } : sprintf(temp,"%s_%s%s",start,set,end); : return temp; : } 或許你可以這樣改: void setname(char name[20], char set[20], char *result) { .... sprintf(result, ....); } 呼叫時: int main() { char tmp[20]; setname(..., ..., tmp); } 簡單小範例: void setname(char *result) { strcpy(result, "HELLO"); } int main(int argc, char *argv[]) { char tmp[20]; setname(tmp); printf("%s\n", tmp); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.143.8.159
VictorTom:所以我在他原來那篇就推文說過了....XD 07/24 13:56
james732:他好像沒有了解 所以我就補充了一下 :) 07/24 15:49
VictorTom:其實我在想, 他這樣用法是不是name和set都傳ptr就好了@@ 07/24 16:07
VictorTom:就是像您小範例result的用法就夠了, 傳整個array進func 07/24 16:08
VictorTom:總覺得看不習慣XD 07/24 16:08