求問大佬這是怎么回事,應該怎么改,十分感謝
代碼:
#include<stdio.h>
int *find(int*p,int l,int x){
int a[100],i;
for(p=a;p<a+5;p++){
if(*p==x);
return p;
if(*p!=x)
return p-l-1;
}
}
int main(){
int a[5],*p,i,x,l,s;
printf("a:");
for(p=a;p<a+5;p++)
scanf("%d",p);
printf("x:");
scanf("%d",&x);
s=find(p,l,x)-p;
printf("%d\n",s);
return 0;
}
uj5u.com熱心網友回復:
#include <stdio.h>int *find(int *p, int l, int x)
{
int *tmp; //你在這里面定義的int a[100]沒有啥用,和main中的a[5]沒有任何關系,X不能在這里面查找
for (tmp = p; tmp < p + l; tmp++)
{
if (*tmp == x) //if陳述句后面最好加上括號,但是肯定不要加;
return tmp;
}
return p - 1;
}
int main()
{
int a[5], *p, x, l=5, s; //l為陣列長度,你又沒有初始化哦
printf("a:");
for (p = a; p < a + 5; p++)
scanf("%d", p);
p = a; //讀取完輸入后,p已經指向了陣列后的地址,重新讓它指向陣列首地址
printf("x:");
scanf("%d", &x);
s = find(p, l, x) - p;
printf("%d\n", s);
return 0;
}
uj5u.com熱心網友回復:
可不咋的,我咋又忘初始化了
,謝謝大佬啦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/67722.html
標籤:新手樂園
上一篇:單項選擇題標準化考試系統設計
