您好,登錄后才能下訂單哦!
編寫一個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; }
函數列表
printf()函數功能、原型、用法和實例
assert()宏功能、原型、用法和實例
strcat()函數功能、原型、用法及實例
小調祝你一切安好.
本文由高小調博客原創!
原文地址:http://gaoxiaodiao.com/p/21.html
如欲轉載,請注明出處!
PS:我在大二上學期,為了賺取瑜伽教練進修費用,周末在KFC兼職打工時,生活節奏超快.
下午2半點從學校走,3點半上班,一直到晚上12點.學校關門了,坐個出租車,去網吧×××.
(KFC可以報銷部分車費.)
當時我心想如果大學畢業以后,每天都是這樣生活的話,這未來也太黑暗了吧!
在那段時間內,我一直認為,這應該就是大學中最黑暗的時光了吧!
再回顧下現在,每天早上6點起床去瑜伽館.
下午5點下課后,火速趕往公交車站,因為6點還有編程課,晚上9點下課...
盡管現在比之前的兼職辛苦更多,但我很享受...
這就是也許傳說中的成長吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。