我的程序在执行期间停止工作

时间:2019-01-08 14:37:26

标签: c++

我在代码块中编写代码,并且在执行过程中遇到此运行时错误:

  

返回的进程(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

我收到错误代码,程序停止运行

1 个答案:

答案 0 :(得分:4)

int i, j , NI;
j=i+1;
  ^ indeterminate value

您在程序中读取了不确定的值。因此,程序的行为是不确定的。