#include<stdio.h>
int find(intp,int n,int x);
int main()
{
int i,n,x,t;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&x);
t=find(a,n,x);
printf("%d\n",t);
return 0;
}
int find(int *p,int n,int x)
{
int i;
for(i=0;i<n;i++,p++)
if(*p==x)
return 1;
return 0;
}
代码如果这样写,可以运行出结果,同时也正确,运行结果如下:
为了让程序有可读性,在原代码加上了几句printf语句,新代码如下:
#include<stdio.h>
int find(intp,int n,int x);
int main()
{
int i,n,x,t;
printf("Please enter the length of the array:\n");
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
printf("Please enter the array:\n");
scanf("%d",&a[i]);
printf("Please enter the figure you want to find:\n");
scanf("%d",&x);
t=find(a,n,x);
printf("%d\n",t);
return 0;
}
int find(int *p,int n,int x)
{
int i;
for(i=0;i<n;i++,p++)
if(*p==x)
return 1;
return 0;
}
此时运行结果却出现了问题,也不能输入想查询的数了,运行结果如下,求问怎样改: