加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
3-24.c 1.18 KB
一键复制 编辑 原始数据 按行查看 历史
王振宇 提交于 2022-03-24 21:27 . homework
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <assert.h>
//void* MyMemcpy(void* s1,const void* s2, size_t count)
//{
// assert(s1 && s2);
// void* p = s1;
// for (size_t i = 0; i < count; i++)
// {
// *(char*)s1 = *(char*)s2;
// s1 = (char*)s1 + 1;
// s2 = (char*)s2 + 1;
// }
// return p;
//}
//
//int main()
//{
// int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 , 10};
// int arr2[5] = { 0 };
// //MyMemcpy(arr+2, arr, 20);
// MyMemcpy(arr2, arr, 20);
// for (int i = 0; i < 5; i++)
// {
// printf("%d ", arr2[i]);
// }
// return 0;
//}
//struct s1
//{
// int a;
// char c;
// char c1;
//}s2;
//
//
//struct s2
//{
// double s;
// char c;
// int a;
//}s1;
//
//int main()
//{
// printf("%d\n", sizeof(s2));
// printf("%d\n", sizeof(s1));
// return 0;
//}
void* MyMemmove(void* s1, void* s2, size_t count)
{
assert(s1 && s2);
void* p = s1;
if (s1 > s2)
{
while (count--)
{
*((char*)s1 + count) = *((char*)s2 + count);
}
}
else
while (count--)
{
*(char*)s1 = *(char*)s2;
s1 = (char*)s1 + 1;
s2 = (char*)s2 + 1;
}
return s1;
}
int main()
{
int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
/*int arr1[5] = { 0 };*/
MyMemmove(arr+2,arr,20);
return 0;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化