【笔试题】C语言:模拟实现strcat
生活随笔
收集整理的這篇文章主要介紹了
【笔试题】C语言:模拟实现strcat
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
???? strcat()函數(shù)不限制,而strncat()是有限制的,后者我的博客也有,有興趣可以查看。
???? 設(shè)置有限制的strncat(),因為:像我的博客,C語言:判斷一個字符串是否為另外一個字符串旋轉(zhuǎn)之后的字符串http://10740184.blog.51cto.com/10730184/1709411,此內(nèi)找不到‘\0’時需要。
??? strcat()函數(shù)其實就是找到連接前的字符串結(jié)束標志\0,然后接在其后面拷貝。
??? 所以我就想到遍歷數(shù)組,不滿足遍歷條件時就跳出即此時碰到結(jié)束標志了。而實現(xiàn)后續(xù)拷貝工作思路和函數(shù)strcpy很相似。
??? 另外,要注意到自加有副作用,因此要重新定義遍歷strdest存儲首地址,便于后續(xù)返回,即鏈式訪問。而若不這樣可能屏幕不輸出。
#define?_CRT_SECURE_NO_WARNINGS?1 #include<stdio.h> #include<stdlib.h> #include<assert.h>char*?my_strcat(char?*dest,?char?*src) {assert(dest);assert(src);char?*strdest?=?dest;while?(*dest){dest++;}while?(*dest++?=?*src++){;}return?strdest; }int?main() {char?arr1[20]?=?"hello?";char?arr2[]?=?"world!";char*?ret?=?my_strcat(arr1,?arr2);printf("%s",?ret);system("pause");return?0; }
轉(zhuǎn)載于:https://blog.51cto.com/10740184/1714515
總結(jié)
以上是生活随笔為你收集整理的【笔试题】C语言:模拟实现strcat的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP锁,分钟级别锁
- 下一篇: canvas-color的几种设置