> 文章列表 > c语言200例 059 寻找指定元素的指针

c语言200例 059 寻找指定元素的指针

c语言200例 059 寻找指定元素的指针

要求:寻找数组当中的指定元素

 

 

关键技术:利用返回指针的函数实现返回指定元素的指针,可参考实例049一起来看

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;
}

运行结果如下

 

参考代码如下

#include <stdio.h>
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;
}int main()
{int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60};int i, key;int *j;printf("数组a是:\\n");for (i = 0; i < sizeof(a) / sizeof(a[0]); i++)printf("%d ", a[i]);printf("\\na[0]的地址是:%d\\n", &a[0]);printf("\\n请输入你要查找的值:");scanf("%d", &key);i = search(a, sizeof(a) / sizeof(a[0]), key);printf("\\n查找值%d在数组的位置是: %d", key,i);	j = find(a, sizeof(a) / sizeof(a[0]), key);printf("\\n查找值%d的位置是: %d", key, j);return 0;
}