//寻找指定元素的指针
#include<stdio.h>
int a[]={1,2,3,4,5,6,7,8,9,10,20,30,40};
int search(int *pt,int n,int key)
{
int *p;
for(p=pt;p<pt+n;p++)
if(*p==key)
return p-pt;
return 0;
}
int *find(int *pt,int n,int key)
{
int *p;
for(p=pt;p<pt+n;p++)
if(*p==key)
return p;
return 0;
}
void main()
{
int i,key;
int *j;
printf("输出的原始元素为\n");
for(i=0;i<sizeof(a)/sizeof(a[0]);i++)
{
printf("%4d ",a[i]);
}
printf("\n当前a[0]的地址为%#x\n",&a[0]);
printf("请输入要查的元素\n");
scanf("%d",&key);
i=search(a,sizeof(a)/sizeof(a[0]),key);
printf("要查的元素%d在数组中位置为%d\n",key,i);
j=find(a,sizeof(a)/sizeof(a[0]),key);
printf("\n要查的元素%d地址为%d\n",key,j);
}