标题:指针问题求指教
只看楼主
虚伪飞飞
Rank: 2
等 级:论坛游民
帖 子:11
专家分:14
注 册:2012-11-25
结帖率:66.67%
已结贴  问题点数:20 回复次数:7 
指针问题求指教
下面的程序为什么会出错?还有怎么用二维指针调用二维数组?
#include <stdio.h>

void exchange(int **a, int **b, int M, int N)
{
     int mid[M][N],i,j;
     for (i = 0;i < M;i++)
     {
         for (j = 0; j < N;j++)
         {
             mid[i][j] = a[i][j];
             a[i][j] = b[i][j];
             b[i][j] = mid[i][j];
         }
     }
}

int main()
{
    int i,j,g,h;
    scanf ("%d %d",&g,&h);
    int arr[g][h],brr[g][h];
    for (i = 0;i < g;i++)
    {
        for (j = 0;j < h;j++)
        {
            scanf ("%d",&arr[i][j]);
        }
    }
    for (i = 0;i < g;i++)
    {
        for (j = 0;j < h;j++)
        {
            scanf ("%d",&brr[i][j]);
        }
    }
    exchange((int**)arr,(int**)brr,g,h);    //我觉得是这里出了问题
    for (i = 0;i < g;i++)
    {
        for (j = 0;j < h;j++)
        {
            printf ("%d",arr[i][j]);
        }
        printf ("\n");
    }
    for (i = 0;i < g;i++)
    {
        for (j = 0;j < h;j++)
        {
            printf ("%d",arr[i][j]);
        }
        printf ("\n");
    }
    system ("pause");
    return 0;
}
搜索更多相关主题的帖子: exchange include 
2012-12-07 11:08
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:7 
int mid[M][N]   是不能这样来定义数组的

DO IT YOURSELF !
2012-12-07 11:21
一个孩子
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:954
注 册:2012-10-1
得分:7 
程序代码:
mid[i][j] = a[i][j];
             a[i][j] = b[i][j];
             b[i][j] = mid[i][j];//这样写不对
        
是你的交换函数出了问题

重要的不是结果,是求一个结果的过程,哪怕千难万难,当你有想要的结果时,你已走的很远
2012-12-07 11:22
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
同样道理
  int arr[g][h],brr[g][h]; 都是不可以的

DO IT YOURSELF !
2012-12-07 11:22
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
要想使用system  需要包含头文件 #include <stdlib.h>

DO IT YOURSELF !
2012-12-07 11:23
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:7 
交换完输出时,两个循环都打印的是arr

总有那身价贱的人给作业贴回复完整的代码
2012-12-07 13:32
虚伪飞飞
Rank: 2
等 级:论坛游民
帖 子:11
专家分:14
注 册:2012-11-25
得分:0 
...我的被调用函数通过了oj,所以应该是主函数的问题
2012-12-08 15:06
虚伪飞飞
Rank: 2
等 级:论坛游民
帖 子:11
专家分:14
注 册:2012-11-25
得分:0 
这个程序最终是没有输出的,这是为什么呢?
2012-12-08 15:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-389990-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.699178 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved