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

时间:2023-03-09 20:35:43
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;

}