C語(yǔ)言::模擬實(shí)現(xiàn)strcat函數(shù)

題目要求

編寫(xiě)一個(gè)C語(yǔ)言程序模擬實(shí)現(xiàn)strcat函數(shù).

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、上虞網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開(kāi)發(fā)、上虞網(wǎng)絡(luò)營(yíng)銷(xiāo)、上虞企業(yè)策劃、上虞品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供上虞建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:muchs.cn

(我們不妨先模擬實(shí)現(xiàn)一下strcat函數(shù),然后再對(duì)照一下string.h庫(kù)函數(shù)中strcat函數(shù)代碼的實(shí)現(xiàn),與大師肩并肩.)

算法分析

strcat函數(shù)功能:將兩個(gè)字符串連接起來(lái),最終返回連接后字符串的首地址.

strcat函數(shù)原型:char *strcat(char *dest,const char *src);

我們清楚地了解了strcat函數(shù)功能和原型之后,就很容易分析出算法...

算法總結(jié)

第一步:將dest指向的內(nèi)容循環(huán)遍歷至'\0'的部分.

第二步:將src指向的內(nèi)容循環(huán)拷貝給dest,包括src后面的'\0'.

核心代碼

//模擬實(shí)現(xiàn)strcat函數(shù)
char *my_strcat1(char *dest,const char *src){
	char * ret = dest;
	//對(duì)接受到的兩個(gè)指針進(jìn)行斷言
	assert(dest);
	assert(src);
	//將dest遍歷至\0
	while(*dest){
		dest++;
	}
	//將src內(nèi)容復(fù)制在dest之后
	while(*src){
		*dest++ = *src++;
	}
	//在dest后面追加\0
	*dest = '\0';
	return ret;
}

完整測(cè)試代碼

/*
*本代碼由高小調(diào)原創(chuàng),版權(quán)歸高小調(diào)博客所有 
*作者:高小調(diào)
*日期:2016-8-7
*代碼功能:模擬實(shí)現(xiàn)strcat函數(shù)
*集成開(kāi)發(fā)環(huán)境:Microsoft Visual Studio 2010 
*/
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
//模擬實(shí)現(xiàn)strcat
char *my_strcat1(char *dest,const char *src){
	char * ret = dest;
	//對(duì)接受到的兩個(gè)指針進(jìn)行斷言
	assert(dest);
	assert(src);
	//將dest遍歷至\0
	while(*dest){
		dest++;
	}
	//將src內(nèi)容復(fù)制在dest之后
	while(*src){
		*dest++ = *src++;
	}
	//在dest后面追加\0
	*dest = '\0';
	return ret;
}
//庫(kù)函數(shù)中實(shí)現(xiàn)方法
char *my_strcat2(char *dest,const char *src){
	char * cp = dest;
	//將dest遍歷至\0
	while(*cp){
		cp++;
	}
	//將src內(nèi)容復(fù)制在dest之后
	while(*cp++=*src++){
		;
	}
	return dest;
}
int main(){
	char str1[20] = "Hello ";
	char str2[] ="Gxd Blog!";
	char *ret = my_strcat1(str1,str2);
	printf("%s\n",ret);
	system("pause");
	return 0;
}

輸出

C語(yǔ)言::模擬實(shí)現(xiàn)strcat函數(shù)

  1. 函數(shù)列表

  2. printf()函數(shù)功能、原型、用法和實(shí)例

  3. assert()宏功能、原型、用法和實(shí)例

  4. strcat()函數(shù)功能、原型、用法及實(shí)例

小調(diào)祝你一切安好.

本文由高小調(diào)博客原創(chuàng)!

原文地址:http://gaoxiaodiao.com/p/21.html

如欲轉(zhuǎn)載,請(qǐng)注明出處!

PS:我在大二上學(xué)期,為了賺取瑜伽教練進(jìn)修費(fèi)用,周末在KFC兼職打工時(shí),生活節(jié)奏超快.

下午2半點(diǎn)從學(xué)校走,3點(diǎn)半上班,一直到晚上12點(diǎn).學(xué)校關(guān)門(mén)了,坐個(gè)出租車(chē),去網(wǎng)吧×××.

(KFC可以報(bào)銷(xiāo)部分車(chē)費(fèi).)

當(dāng)時(shí)我心想如果大學(xué)畢業(yè)以后,每天都是這樣生活的話,這未來(lái)也太黑暗了吧!

在那段時(shí)間內(nèi),我一直認(rèn)為,這應(yīng)該就是大學(xué)中最黑暗的時(shí)光了吧!

再回顧下現(xiàn)在,每天早上6點(diǎn)起床去瑜伽館.

下午5點(diǎn)下課后,火速趕往公交車(chē)站,因?yàn)?點(diǎn)還有編程課,晚上9點(diǎn)下課...

盡管現(xiàn)在比之前的兼職辛苦更多,但我很享受...

這就是也許傳說(shuō)中的成長(zhǎng)吧!

文章題目:C語(yǔ)言::模擬實(shí)現(xiàn)strcat函數(shù)
URL地址:http://muchs.cn/article34/gdsdpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、手機(jī)網(wǎng)站建設(shè)App設(shè)計(jì)外貿(mào)建站、網(wǎng)站設(shè)計(jì)ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司