中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言::模擬實現strcat函數

發布時間:2020-07-26 17:29:16 來源:網絡 閱讀:523 作者:詛咒娃娃 欄目:編程語言

題目要求

編寫一個C語言程序模擬實現strcat函數.

(我們不妨先模擬實現一下strcat函數,然后再對照一下string.h庫函數中strcat函數代碼的實現,與大師肩并肩.)

算法分析

strcat函數功能:將兩個字符串連接起來,最終返回連接后字符串的首地址.

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

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

算法總結

第一步:將dest指向的內容循環遍歷至'\0'的部分.

第二步:將src指向的內容循環拷貝給dest,包括src后面的'\0'.

核心代碼

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

完整測試代碼

/*
*本代碼由高小調原創,版權歸高小調博客所有 
*作者:高小調
*日期:2016-8-7
*代碼功能:模擬實現strcat函數
*集成開發環境:Microsoft Visual Studio 2010 
*/
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
//模擬實現strcat
char *my_strcat1(char *dest,const char *src){
	char * ret = dest;
	//對接受到的兩個指針進行斷言
	assert(dest);
	assert(src);
	//將dest遍歷至\0
	while(*dest){
		dest++;
	}
	//將src內容復制在dest之后
	while(*src){
		*dest++ = *src++;
	}
	//在dest后面追加\0
	*dest = '\0';
	return ret;
}
//庫函數中實現方法
char *my_strcat2(char *dest,const char *src){
	char * cp = dest;
	//將dest遍歷至\0
	while(*cp){
		cp++;
	}
	//將src內容復制在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語言::模擬實現strcat函數

  1. 函數列表

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

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

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

小調祝你一切安好.

本文由高小調博客原創!

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

如欲轉載,請注明出處!

PS:我在大二上學期,為了賺取瑜伽教練進修費用,周末在KFC兼職打工時,生活節奏超快.

下午2半點從學校走,3點半上班,一直到晚上12點.學校關門了,坐個出租車,去網吧×××.

(KFC可以報銷部分車費.)

當時我心想如果大學畢業以后,每天都是這樣生活的話,這未來也太黑暗了吧!

在那段時間內,我一直認為,這應該就是大學中最黑暗的時光了吧!

再回顧下現在,每天早上6點起床去瑜伽館.

下午5點下課后,火速趕往公交車站,因為6點還有編程課,晚上9點下課...

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

這就是也許傳說中的成長吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

佛坪县| 新野县| 益阳市| 漳州市| 西平县| 湖口县| 乐陵市| 泽州县| 夏河县| 新源县| 潢川县| 古丈县| 曲周县| 湘乡市| 尼玛县| 绥滨县| 汉川市| 元氏县| 老河口市| 铜川市| 奉化市| 普兰县| 金乡县| 五寨县| 永春县| 铜梁县| 马尔康县| 楚雄市| 云南省| 漳州市| 漳平市| 都兰县| 湟中县| 沧州市| 友谊县| 鄂伦春自治旗| 新巴尔虎左旗| 大英县| 固阳县| 石楼县| 屏山县|