设计一个函数,在一个数组中查找指定的元素,找到后返回所在的位置,否则返回-1,求代码。并把我的修改下

#include<stdio.h>#defineNOT_FOUND-1intsearch(constintarr[],inttarget,intn){inti,found... #include<stdio.h>
#define NOT_FOUND -1
int search(const int arr[],int target,int n)
{
int i,found,position;
i=0;
while(!found&&i<n)
{
if(target==arr[i])
found=1;
else
++i;
}
if(found)
position=i;
else
position=NOT_FOUND;
return (position);
}

int main()
{
int i,arr[7];
for(i=0;i<7;i++)
scanf("%d",&arr[i]);
printf("%d",search(arr,4,7));
return 0;
}
展开
 我来答
红雨100000
推荐于2017-12-16 · 超过25用户采纳过TA的回答
知道答主
回答量:113
采纳率:66%
帮助的人:31.9万
展开全部
#include<stdio.h>
#define NOT_FOUND -1
int search(const int arr[],int target,int n)
{
int nPosition = 0 ;
for(int i = 0 ;i < n ;i ++)
{
if(target == arr[i])

{
nPosition = i ;

break ;

}
else

{
nPosition = NOT_FOUND ;

continue ;

}
}
return nPosition;
}

这是那个函数的修改,个人习惯 参考一下!
追问
你这个很是简洁,不过你能不能找一下我的错误在哪?
追答
不好意思  试错了   我试的是我写的代码   没有问题 你的代码有问题啊    

found没有初始化 根本没有进入while循环 你可以调试一下 跟踪一下代码 就知道问题的所在!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式