頭文件:#include<cstring>
原型:char * strcat ( char * des, const char * src);
功能:將字符串des的有效部分和src的有效部分連接在一起;
實(shí)現(xiàn):
char * strcat(char *des, const char* src){ assert( (NULL != des) && (src != NULL) ); char * cpDes = des; while( *des ) //1、此處不能為*des++ des ++; while( *des++ = *src++) ; return cpDes;//為了實(shí)現(xiàn)鏈?zhǔn)讲僮鳎祷啬康牡刂穧常見(jiàn)問(wèn)題:1、為什么程序中的1注釋處不能為while ( *des ++ )
答:該段的程序?qū)嶋H應(yīng)為:
while( *des != '/0' ) des ++;若直接為while( *des++ != '/0') ;相當(dāng)于在*des == '/0' 后des又進(jìn)行了自增,指向了'/0' 的下一個(gè)位置。所以要在循環(huán)體內(nèi)進(jìn)行自增操作,使des最后指向字符串的結(jié)束位置'/0' 。2、while( *des++ = *src ++) 等價(jià)于
while( *src != '/0'){ *des = *src; des ++ ; src ++;}des ++;*des = '/0';
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注