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