2 回答

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊
你的寫法有問(wèn)題...
char ele[200];
s=ele;
ele為函數(shù)內(nèi)部定義的定長(zhǎng)數(shù)組,等函數(shù)過(guò)程結(jié)束,對(duì)應(yīng)的內(nèi)存就會(huì)被自動(dòng)釋放,所以這樣寫是不對(duì)的
加了printf也不對(duì),只是printf可能延遲了ele的釋放

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
寫法上有問(wèn)題:
1. Element函數(shù)中,for循環(huán)后最好有個(gè)ele[i] = '\0',字符串的結(jié)尾符;
2. main函數(shù)可以用一些這種方式:
int main(void) {
char *a;
char *b;
char c[256];
//char c*;
char *d;
a="lm";
b="cd";
//int bufSize = 256;
//c=(char*)malloc(bufSize*sizeof(char));
//memset(c,0,bufSize);
strcpy(c,Element("abcdefghijklmn",b,a));
d=c;
printf ("%s,%s\n",d,c);
//free(c);
return EXIT_SUCCESS;
}
添加回答
舉報(bào)