用指针操作三维数组的问题

C语言 码拜 7年前 (2015-11-13) 936次浏览
本人想用指针操作三维数组,于是编了如下的代码,用gcc编译成功了,但是报错。
到网上去搜索没有找到解决方案,求帮助各位大神指点一下。

Segmentation fault (core dumped)
#include <stdio.h>
int main()
{
        int arr[3][5][7];
        int (*p)[5][7];
        int i;
        int j;
        int k;
        p = arr;
        for (i = 0;i < 3;i++)
        for (j = 0;j < 5;j++)
        for (k = 0;k < 7;j++)
        {
                arr[i][j][k] = i * 100 + j * 10 + k;
        }
        printf("p[2][3][5] = %d\n", p[2][3][5]);
        return 0;
}
解决方案:20分
一眼看到两个j++
解决方案:10分
哈哈 ,眼尖!
for (i = 0;i < 3;i++)
for (j = 0;j < 5;j++)
for (k = 0;k < 7;j++)
解决方案:10分
第三个循环应该是想表示k++吧

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明用指针操作三维数组的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)