#include <stdio.h> #include <stdlib.h> #include <assert.h> int my_memcmp1(const void *p1, const void *p2, size_t count)//方法1 { assert(p1); assert(p2); char *dest = (char *)p1; char *src = (char*)p2; while (count && (*dest == *src)) { count--; dest++; src++; } if (count == 0) return 0; return *dest - *src; } int my_memcmp2(const void *p1, const void *p2, size_t count)//方法2 { assert(p1); assert(p2); int ret = 0; char *dest = (char *)p1; char *src = (char*)p2; while (count && (!(ret = (*dest - *src)))) { dest++; src++; count--; } if (ret > 0) { return 1; } else if (ret < 0) { return -1; } return 0; } int main() { int arr1[] = {1,2,3,4,5,6}; int arr2[] = {1,2,3,1000000,5,6};//清楚内存是怎样放置的 int ret = my_memcmp2(arr1, arr2, 16); printf("%d", ret); system("pause"); return 0; }
【C语言】【笔试题】模拟实现memcmp
原创安下 ©著作权
文章标签 C语言 模拟实现memcmp 文章分类 C/C++ 后端开发
下一篇:【C语言】【指针相关知识小结】
-
【C语言加油站】qsort函数的模拟实现
【C语言加油站】qsort函数的模拟实现本文详细介绍了使用冒泡排序的逻辑模拟实现可以排序任意类型数组的qsort函数……
C语言 qsort排序函数 冒泡排序 回调函数 void*指针 -
【笔试题】C语言:模拟实现strncmp
模拟实现字符串比较函数strncmp(),与strcmp()函数可以查看博客http://10740184.blog.51cto.com/10730184/1714512​有区别。【返回值】若str1与str2的前n个字符相同,则返回0;若arr1大于arr2,则返回大于0的值;若arr1 若小于arr2,则返回小于0的值。【参数】str1, str2 为需要比较的两个字符串,n为要比较的字符的数目(这是函数strcmp()所做不到的)。而此处我设置的len是arr1长度。,
C语言 模拟实现strncmp strncmp与strcmp函数的区别 字符串比较函数 -
C语言模拟实现memset.memcmp函数
C语言模拟实现memset.memcmp函数
C语言.memset.memcmp -
【C语言】【笔试题】模拟实现strstr函数
模拟实现strstr函数
C语言 模拟实现strstr函数 -
【C】内存函数及其模拟实现 —— memcpy | memmove | memcmp
用的比较少说实话,memcpy还是要注意一下。。。
c语言 #include i++ 字符串 -
【C语言】memcmp() 内存比较
本篇博客就来介绍下关于C语言常用的内存函数之memmove()函数。
#include 示例代码 代码示例