Получение "возвращаемого значения 3221226356" в коде C++
Я компилирую один пример кода. Но я получаю ответ, когда компилирую этот код для ввода = 5, если я изменяю ввод с 5 на 6., то один раз ответ пришел, но в следующий раз для того же ввода, бросая сообщение "возвращаемое значение 3221226356". Если я снова изменю ввод с 6 на 8, то снова придет это сообщение.
#include <iostream> #include <string> #include <cmath> void loop1(float *a, int &k ) \ { int i = k / 2 ; \ for (int x = 0 ; x < i ; x++ ) \ { a[x] = x ; \ std::cout<<"a = "<< a[x] <<'\n' ; \ } } void loop2(float *a, int &i, int &j ) \ { for (int x = i ; x < j ; x++ ) \ { a[x] = a[x-i] ; \ std::cout<<"a ["<<x<<"]= "<< a[x] <<'\n' ; \ } } void loop3(float *a, int &i) { for (int x = 0 ; x < i ; x++ ) { a[x] = x * x * x ; a[x] += a[x]; } } int main() \ { int nx ; \ float* xpos = NULL; \ xpos = new float[nx]; \ std::cout<<"enter the value for nx " ; \ std::cin>>nx ; \ int a = nx/2 ; \ std::cout<<"a (= nx/2 )= "<< a <<'\n' ; \ loop1(xpos, nx ); \ loop2(xpos, a, nx); \ for (int x = 0 ; x < nx ; x++ ) \ { std::cout<<"xpos = "<< xpos[x] <<'\n' ; \ } /* loop3(xpos, nx ); \ */ for (int x = 0 ; x < nx ; x++ ) \ { std::cout<<"new xpos = "<< xpos[x] <<'\n' ; \ } return 0 ; }
Результат для ввода = 5
enter the value for nx 5 a (= nx/2 )= 2 a = 0 a = 1 a [2]= 0 a [3]= 1 a [4]= 0 xpos = 0 xpos = 1 xpos = 0 xpos = 1 xpos = 0 new xpos = 0 new xpos = 1 new xpos = 0 new xpos = 1 new xpos = 0 -------------------------------- Process exited after 4.442 seconds with return value 0 Press any key to continue . . .
Результат для ввода = 6
enter the value for nx 6 a (= nx/2 )= 3 a = 0 a = 1 a = 2 a [3]= 0 a [4]= 1 a [5]= 2 xpos = 0 xpos = 1 xpos = 2 xpos = 0 xpos = 1 xpos = 2 new xpos = 0 new xpos = 1 new xpos = 2 new xpos = 0 new xpos = 1 new xpos = 2 -------------------------------- Process exited after 3.427 seconds with return value 0 Press any key to continue . . .
Результат для ввода = 8
<pre lang="c++">enter the value for nx 8 a (= nx/2 )= 4 a = 0 a = 1 a = 2 a = 3 a [4]= 0 a [5]= 1 a [6]= -------------------------------- Process exited after 7.167 seconds with return value 3221226356 Press any key to continue . . .
У тебя есть хоть малейшее представление о том, что я сделал не так ?
Есть ли какое-то конкретное название такой ошибки?
Но я не могу понять, почему это не удалось.
Что я уже пробовал:
Я попытался варьировать входные данные от одного к другому. Но передаю сообщение.
Richard MacCutchan
Вам нужно использовать свой отладчик, чтобы увидеть, где завершается процедура. Вам также нужно удалить все эти ненужные обратные косые черты в вашем источнике.
KarstenK
nx нуждается в некоторой ценности!!! А как насчет использования отладчика?