我在代码块中编写代码,并且在执行过程中遇到此运行时错误:
返回的进程(0xC0000005)
这是我的代码
我相信这与我调用函数的方式有关
主要:
int main()
{
int LT[101],i, NI;
float x;
for (i=0 ; i<101 ; i++)
LT[i]=i*i;
NI=find_NI(LT , x);
x=recieve_check_x();
cout<<"square root of x is:"<<(NI+(x-LT[NI])/(2*NI));
return 0;
}
rec_chk.cpp:
#include <iostream>
#include "funcs_hd.h"
using namespace std;
float recieve_check_x ()
{
float x;
cout<<"enter the value of x:"<<endl;
cin>>x;
while (x<0 or x>10000)
{
cout<<"\a error! x must be within range of [0,10000]"<<endl;
cout<<"enter another value:"<<endl;
cin>>x;
}
}
find_NI:
#include <iostream>
#include "funcs_hd.h"
#include <cstdlib>
#include <cmath>
using namespace std;
int find_NI (int LT[] , float x)
{
int i, j , NI;
j=i+1;
double i_delta=abs(LT[i]-x);
double j_delta=abs(LT[j]-x);
if (i_delta<j_delta)
NI=LT[i];
else
NI=LT[j];
return NI;
}
funcs_hd:
#ifndef FUNCS_HD_H_INCLUDED
#define FUNCS_HD_H_INCLUDED
float recieve_check_x (void);
int find_NI (int [] , float);
#endif // FUNCS_HD_H_INCLUDED
我收到错误代码,程序停止运行
答案 0 :(得分:4)
int i, j , NI; j=i+1; ^ indeterminate value
您在程序中读取了不确定的值。因此,程序的行为是不确定的。