这是个老问题了unhandled exception......

shitangmai 2015-11-10 09:20:09
已经被卡在好几天了,程序没有报警和错误,运行的时候出行

unhandled exception in 查找函数.exe:0xc0000005:access violation


然后就没辙了,求各位就我这个简单的程序分析一下,下面是代码:

# include <stdio.h>

# define NUM 5 //宏定义数组的容量
# define FAIL -1 //查找失败的输出

int search ( const int vy[], int n, int no) // 查找函数
{
int a = 0;
/* for (a = 0; a < NUM; a++)
{ if ( n == vy[a])
return (a); // 找到就返回该下标
else
return (FAIL); // 找不到就返回FAIL
}
*/
while (1)
{
if (a == no)
return (FAIL);
if (vy[a] == n)
return (a);
a++;
}

}

int main (void)
{
int vx[NUM];
int i, j, c;

printf ("请输入%d个数:\n", NUM);
for (i = 0; i < NUM; i++)
scanf ("%d", vx[i]); // 输入数组

printf ("请输入要查找的数:");
scanf ("%d", &j); // 输入要查找的数

c = search(vx, j, NUM); // c = 查找函数返回的值,找到就返回数组的下表,找不到就返回FAIL

if (c == FAIL)
printf ("查找失败\n");
else
printf ("%d是数组第%d号数\n", j, c + 1);


return 0;
}
...全文
281 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shitangmai 2015-11-25
  • 打赏
  • 举报
回复
谢谢,对我来说非常有用,不过能高诉我为什么编译的时候没有错误呢?少一个&则会出现这个问题?
shitangmai 2015-11-10
  • 打赏
  • 举报
回复
在百度查了好久,但他们说的我都不是很明白,求热心人想助啊! 好急,卡在这啥也做不下去!
我不懂电脑 2015-11-10
  • 打赏
  • 举报
回复
程序已改,自己找改动处
# include <stdio.h>

# define NUM 5 //宏定义数组的容量
# define FAIL -1 //查找失败的输出

int search ( const int vy[], int n, int no) // 查找函数
{
int a = 0;
/* for (a = 0; a < NUM; a++)
{ if ( n == vy[a])
return (a); // 找到就返回该下标
else
return (FAIL); // 找不到就返回FAIL
}
*/
while (1)
{
if (a == no)
return (FAIL);
if (vy[a] == n)
return (a);
a++;
}

}

int main (void)
{
int vx[NUM];
int i, j, c;

printf ("请输入%d个数:\n", NUM);
for (i = 0; i < NUM; i++)
scanf ("%d", &vx[i]); // 输入数组

printf ("请输入要查找的数:");
scanf ("%d", &j); // 输入要查找的数

c = search(vx, j, NUM); // c = 查找函数返回的值,找到就返回数组的下表,找不到就返回FAIL

if (c == FAIL)
printf ("查找失败\n");
else
printf ("%d是数组第%d号数\n", j, c + 1);


return 0;
}

13,874

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧