【C语言】【笔试题】模拟实现memcmp

原创 2016年05月30日 15:03:51
#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;
}

wKiom1ZRiCPTwDTnAAC5GrG0Beg239.png

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

腾讯实习笔试题--简单计算器程序的c语言实现

/*本程序是一个简单的计算器模拟程序。对任意给定的正确的四则表达式,程序计算其结果值并输出。表达式中运算分量为无 正负号整数,运算符为+ - * / ,圆括号按常规配对,表达式以“=”结束。函数get...

字符排序(美团网笔试题)C语言实现

#include #include void sort(char str[],int len) { int i,j; int temp; for (i=0;ii;j--) ...
  • ru_li
  • ru_li
  • 2014-09-11 22:01
  • 438

c语言笔试题总结2

c语言笔试题总结,持续更新中。

笔试题:C语言中的字符串问题

做编程题时,使用字符串一般都是直接用的C++的string类库,比C语言指针型操作字符串要简易方便很多。但是笔试题中,经常考察指针在C语言字符串中的问题。 下面就我遇到的一些题,谈下我的理解,如有偏差...

c语言笔试题总结1

c语言笔试题总结,陆续更新。

zz C语言常见笔试题大全(一)

转自:  http://hi.baidu.com/leolife/blog/item/b6569e502d7ecc6184352449.html 1. 用...

c语言常考的笔试题4

(2010-06-02 13:12:58) 七、其他问题  请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。 (1).请写出 BOOL ...

c语言常考的笔试题1

最近答了7次笔试题,稍有些心得,企业再面试c语言不会像过去的那种读程序题写结果或者简单的函数编写,再或者考你一些简单的逻辑,c的精华是内存和指针的运用,围绕这些我想写一些东西供自己总结和给同事们、同学...

zz C语言常见笔试题大全(二)

转自:http://hi.baidu.com/leolife/blog/item/765f0f556ba5f2c7b645ae4a.html 今天早上的面试题9道,比较难, 1、线形表a、b为...

C语言经典笔试题(二)

C语言经典笔试题(二)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)