C语言:返回两个数组中第一个元素的指针,并输出这个值

//

//  main.c

//  Pointer_search

//

//  Created by ma c on 15/8/2.

//  Copyright (c) 2015年. All rights reserved.

//  要求:通过指针查找,实现比较两个有序数组中的元素,输出两个数组中的第一个相同的元素值。

 

#include <stdio.h>

int *searchSameElement(int *a,int *b,int len1,int len2);

int main(int argc, const char * argv[])

{

    int a[] = {4,51,8,6,7,10};

    int b[] = {80,8,10,90,7,10,51};

    int len1 = sizeof(a)/sizeof(a[0]);

    int len2 = sizeof(b)/sizeof(b[0]);

    

    int *pt = searchSameElement(a,b,len1,len2);//返回第一个相同的值地址

    if(pt)

        printf("%d\n",*pt);

    else

        printf("the same number don not find!\n");

    return 0;

}

int *searchSameElement(int *a,int *b,int len1,int len2)

{

    int *pa = a;

    int *pb = b;

    while((pa++)<(a+len1))

    {

      while(pb<(b+len2))

      {

          if(*pa!=*pb)

          {

              pb++;

          }

          else

          {

              return pa;

          }

      }

    }

    return 0;

}

posted @ 2015-08-02 22:52  XYQ全哥  阅读(1015)  评论(0编辑  收藏  举报