1、和標(biāo)準(zhǔn)庫(kù)中的不同,返回指向連接后字符串末尾的指針,這樣在連續(xù)調(diào)用時(shí)不用每次從頭遍歷找結(jié)尾,復(fù)雜度仍然是線性的。
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)深州,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
2、實(shí)際上就是實(shí)現(xiàn)strcat這個(gè)字符串庫(kù)函數(shù),在vc自帶的crt源碼或者linux平臺(tái)的glibc庫(kù)中都有strcat的源碼,自己可以查閱參考,看看庫(kù)開發(fā)者是如何寫代碼的,對(duì)于學(xué)習(xí)C語(yǔ)言非常有用。
3、添加兩句,參見(jiàn)下圖中畫紅線的部分:修改后的程序 有什么問(wèn)題請(qǐng)留言。
方法一:函數(shù)入口參數(shù)即為要返回的結(jié)果 void fun(char *in,char *out);out為你要傳出的字符串,其實(shí)對(duì)于你的函數(shù)內(nèi)部來(lái)說(shuō)這個(gè)out就像它的全局變量(要明白,其實(shí)不是,這么說(shuō)只是為了讓你好理解)。
include stdio.h int main(){ char str[] = testroadstr[4] = 0;printf(Result: %s \n, str);return 0;} 當(dāng)然,基于這個(gè)知識(shí)可以封裝成邏輯。
同樣的道理,想要返回字符串,只能把內(nèi)容放在安全的地方,也就是動(dòng)態(tài)內(nèi)存,然后把該內(nèi)存對(duì)應(yīng)的地址返回就可以,就好比你把一個(gè)人的Tel 號(hào)碼告訴另一個(gè)人,然后把你手機(jī)上的刪除,另一個(gè)人也不受影響。
1、定義一個(gè)字符型數(shù)組,將字符存在數(shù)組里,將數(shù)組作為參數(shù)傳到Sub子函數(shù),然后將其倒序字符串存到另一數(shù)組里,返回另一數(shù)組即可。
2、反序字符串,只需要將首尾字符依次調(diào)換即可。
3、首先,你的這個(gè)代碼不是實(shí)現(xiàn)逗字符串反序地,而是實(shí)現(xiàn)逗矩陣轉(zhuǎn)置地,不知你是不是復(fù)制錯(cuò)了。其次,這個(gè)代碼在實(shí)現(xiàn)逗矩陣轉(zhuǎn)置地時(shí)也會(huì)出現(xiàn)問(wèn)題。