```
#include
#include
int findX(int *array,int size,int x){
/* int i = 0;
for (i = 0;i
if(array[i]==x) return i;
}
return -1;*///单入口,多出口
int i;
int flag = 0;//初值为1,默认没有查找到
int index = -1;//
for (i = 0;i
if(array[i]==x)//;,编译正常 返回值为9
{
flag = 1;
index = i;
}
}
/*if(flag) return index;
else return -1;*/
return index;
}
int main()
{
int array[10] = {111,22,3333,44,55};
//找一个值为x的元素
int x;
x = 111;
int k;
k = findX(array,10,x);//c语言作为数组传递必须给出长度
printf("%d\n",k);
return 0;
}
```
```
#include
int getX(int *array,int size,int *px,int k){
if (k<0 || k>=size) return 0;
else{
*px = array[k];
return 1;
}
}
//返回结果只有一种可以将return 0 作为唯一结果返回,与main()函数保持一致
int main()
{
int array[10] = {12,33,112,463,123,311,241};
int k = 2;
int x,flag;
flag = getX(array,10,&x,k);//传入x的地址
//写函数,不直接用array[k]的 原因,数组越界不安全
printf("%d %d\n",flag,x);
return 0;
}
```
```
#include
int findMax(int *array,int size){
int max,i;
max = array[0];//以数组内的一个元素首先作为max or min
for(i = 1;i
if(max
}
return max;
}
int main()
{
int array[10] = {12,33,112,463,123,311,241,12,321,22};
int max;
max = findMax(array,10);//不会失败,不存在越界的可能
printf("%d",max);
return 0;
}
```