| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 543 人关注过本帖
标题:有关C++的一个很奇怪的问题
只看楼主 加入收藏
weishuiershui
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-9
收藏
 问题点数:0 回复次数:6 
有关C++的一个很奇怪的问题
为了将问题表述清楚点,代码像下面:
  main()
  { int i,j;
    static double a[4][4]={ {5.0,7.0,6.0,5.0},
                            {7.0,10.0,8.0,7.0},
                            {6.0,8.0,10.0,9.0},
                            {5.0,7.0,9.0,10.0}};
    static double b[4][4],c[4][4];
    for (i=0; i<=3; i++)
    for (j=0; j<=3; j++)
      b[i][j]=a[i][j];
    i=bssgj(a,4);   //这里就不是很明白了,为什么可以把a直接传递呢?传递
                    //的是二维数组a[4][4]吗?
   ......
   }

int bssgj(a,n)
  int n;
  double a[]; //这里为什么又是一维数组呢?
  { int i,j,k,m;
    double w,g,*b;
    b=malloc(n*sizeof(double));
    for (k=0; k<=n-1; k++)
      { w=a[0];
        if (fabs(w)+1.0==1.0)
          { free(b); printf("fail\n"); return(-2);}
        m=n-k-1;
        for (i=1; i<=n-1; i++)
          { g=a[i*n]; b[i]=g/w;
            if (i<=m) b[i]=-b[i];
            for (j=1; j<=i; j++)
              a[(i-1)*n+j-1]=a[i*n+j]+g*b[j];
          }
        a[n*n-1]=1.0/w;
        for (i=1; i<=n-1; i++)
          a[(n-1)*n+i-1]=b[i];
      }
  ...
   return(2);
  }
这段代码在c语言中编译运行是可以的,但上面的问题还是想不明白,明明a[][]是一维数组怎么在bssgi中就是一维的了呢?。改为c++编译就出错了。。请问这是怎么回事呢?应该怎样改为C++呢?我不想改动bssgj(a,n)里面的代码。
/谢谢啦

搜索更多相关主题的帖子: double 问题 
2009-12-26 09:59
hu3392100
Rank: 2
等 级:论坛游民
帖 子:52
专家分:81
注 册:2009-12-23
收藏
得分:0 
嘿嘿!刚学这个还不会!不过顶下!

水载舟,德载人。。。
2009-12-26 10:09
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:0 
数组只能传递第一个元素地址的引用,这个引用类似于指针

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2009-12-26 10:19
编我的
Rank: 1
等 级:新手上路
帖 子:36
专家分:6
注 册:2009-8-1
收藏
得分:0 
同意3楼、函数传递的是a的首地址
2009-12-26 12:55
guchao2009
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:101
专家分:106
注 册:2009-4-13
收藏
得分:0 
同意楼上的看法
但是你说的另一个问题,我看不懂整个程序,好像很乱
2009-12-26 14:07
shiyuehai
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:96
专家分:116
注 册:2009-9-4
收藏
得分:0 
lz你说的改为c++编译是什么意思???
2009-12-26 16:18
wlsj
Rank: 2
等 级:论坛游民
帖 子:49
专家分:28
注 册:2009-5-18
收藏
得分:0 
嘿嘿,学习中,暂时没学到这
2009-12-26 21:43
快速回复:有关C++的一个很奇怪的问题
数据加载中...
 
   



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

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