代码拉取完成,页面将自动刷新
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<assert.h>
//strlen 函数 使用以及三种实现strlen方法
//方法一 计数器
//int my_strlen(const char* str)
//{
// assert(str);
// int count = 0;
// while (*str++)
// {
// count++;
// }
// return count;
//}
//方法二 递归方法
//int my_strlen( char* str)
//{
// if (*str == '\0')
// {
// return 0;
// }
// else
// {
// return 1 + my_strlen(str+1);
// }
//
//}
//方法三 指针减指针
//int my_strlen(char*str)
//{
// char* p1 = str;
// char* p2 = str;
// while (*p2)
// {
// p2++;
// }
// return p2 - p1;
//}
//int main()
//{
// char arr[] = "abc";
// //int ret = strlen(arr);
// //模拟实现strlen
// int ret = my_strlen(arr);
// printf("%d", ret);
// return 0;
//}
//注意 strlen 函数返回类型为 size_t 无符号整型
//strcpy函数使用以及实现 注意事项
//strcpy 实现 char * strcpy ( char * destination, const char * source );
//char* my_strcpy(char* dest, const char* src) //const 防止被变化
//{
// assert(dest && src); //断言防止空指针
// //保存一下 dest 位置
// char* ret = dest;
//
// while (*dest++ = *src++)
// {
// ;
// }
// return ret;
//}
//int main()
//{
// char arr1[20] = "##########";
// char arr2[] = "hello";
// //strcpy(arr1, arr2);
//
// printf("%s", my_strcpy(arr1, arr2));
// return 0;
//}
// '/0' 也会被拷贝过去
//strcat 函数的使用以及实现
char* my_strcat(char* str1, const char* str2)
{
char* ret = str1;
while (*str1 != '\0')
{
str1++;
}
while (*str1++ = *str2++)
{
;
}
return ret;
}
//char * strcat ( char * destination, const char * source )
int main()
{
char arr[20] = "hello ";
char arr2[] = "world";
//strcat(arr, arr2);
printf("%s",my_strcat(arr,arr2));
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。