· 在一组给定的数据中,如何找出某个数据是否存在?
先看一段代码
#include<stdio.h>
/*
找出key在数组a中的位置
@param key 要寻找的数字
@param a 要寻找的数组
@param length 数组a的长度
@return 如果找到,返回a总的位置,如果找不到返回-1
*/
int search(int key, int a[], int length);
int main(void)
{
int a[]={2,4,6,7,2,1,3,5,9,11,13,23,14,32};
int x;
int loc;
printf("请输入一个数字:");
scanf("%d", &x);
// loc=search(x,a,sizeof(a)/sizeof(a[0])); //
if (loc !=-1){
printf("%d在第%d\个位置上n",x,loc);
}else{
printf("%d不存在\n",x);
}
return 0;
}
int search(int key, int a[], int length) //自定义函数
{
int ret = -1;
int i;
for (i=0;i<length;i++){
if(a[i]==key){
ret = i;
break;
}
}
return ret;
}
数组的集成初始化
· 直接用大括号给出数组的所有元素的初始值
· 不需要给出数组的大小,编译器替我们计算
int main(void)
{
int a[]&