Когда я пытаюсь скомпилировать приведенный ниже код, говорит stack smashing detected abc2 terminated Aborted (core dumped)
. Эта ошибка показывает, что для цикла, проходящего через двумерный массив .«обнаружение стека обнаружено abc2 завершено« Прервано »отображается при циклировании массива
Что я хочу сделать, так это получить вход пользователя в первый столбец, используя cin>>arr[0][i];
и 0 для всех других столбцов, используя arr[i+1][r]=0;
.
#include <iostream>
using namespace std;
void displayArray(int arr[][4],int row,int col);
int main(){
int arr[3][4];
for(int i=0;i<4;i++){
cout<<"enter value ";
cin>>arr[0][i];
for(int r=0;r<3;r++){
arr[i+1][r]=0;
}
}
displayArray(arr,3,4);
return 0;
}
void displayArray(int arr[][4],int row,int col){
for(int i=0;i<row;i++){
for(int r=0;r<col;r++){
cout<<arr[i][r]<<" ";
}cout<<endl;
}
}
Пожалуйста, переформатируйте код. Вы также можете добавить дополнительную информацию. Когда происходит разбиение стека? – exilit
arr [i + 1] [r] = 0; «+1» не имеет для меня столь большого смысла. – Marco
@ Марко это имеет смысл прямо сейчас. – Blasanka