c++ 二维数组取值,报错 Signal: SIGSEGV (Segmentation fault)
大家讲道理
大家讲道理 2017-04-17 15:36:42
0
2
974
bool isLine(int map[][4]) {
    for (int i = 0; i < 4; i++) {

        for (int j = 0; j < 4; j++) {
            cout <<  map[i][j] << ' ' ;
        }
        cout<<endl;
    }
    if (map[3][0] * map[2][1]* map[1][2] * map[0][3] == 1) return 1;

//*
//*
//*执行到这行时报错,Signal: SIGSEGV (Segmentation fault)
//*
//*
    if (map[0][0] * map[1][1] * map[2][2] * map[3][3] == 1) return 1;


    for (int row = 0; row < 4; row++) {
        if (map[row][0] *map[row][1]* map[row][2]* map[row][3] == 1) return 1;
    }
    for (int col = 0; col < 4; col++) {
        if (map[0][col] * map[1][col]* map[2][col] * map[3][col]) return 1;
    }
    return 0;
}

如代码所示,求解

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답(2)
左手右手慢动作

콜 포인트에 전달된 특정 매개변수와 구성 방식에 따라 다릅니다. 호출 코드도 게시해야 합니다.

阿神

2차원 배열의 경우 첫 번째 매개변수를 지정할 필요가 없습니다. 시스템은 전체 크기를 기준으로 1차원 매개변수를 얻을 수 있으며, 이는 배열이 초기화될 때 지정된 2차원 매개변수입니다. segfault. 전달한 매개변수여야 합니다. 매개변수 공간의 크기가 너무 작아서 1차원 매개변수가 3에 도달하지 못하는 문제가 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿