代码如下
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
int find(int* p, int n, int x)
{
int i=0 ;
//遍历数组
for (i = 0; i < n; i++)
{
if (p[i]==x)
{
return 1;
//printf("\n%d",p[i]);
i++;
//printf("ishi \n%d", i);
break;
}
}
//为什么要写下面这个if?因为如果上面数组遍历完没有找到对应的数值那么i的值就会等于n
//由此来作为没有找到对应值的依据进而输出0
if (i==n)
{
//printf("buniubi");
return 0;
}
return 0;
}
void main()
{
int n,x, * p;
printf("请输入数组的大小:");
scanf_s("%d", &n);
printf("请输入自定义的数组:");
p = (int*)malloc(sizeof(int) * n);//定义动态数组
assert(p != NULL);//判断动态数组空间是否分配成功
//给数组赋值
for (int i = 0; i < n; i++)
{
scanf_s("%d", &p[i]);
}
int* pr;
pr = p;//定义指针pr指向数组的第一个地址
printf("请输入你要查找的数值:");
scanf_s("%d", &x);
//find(pr, n