beyondhxf 发表于 2009-3-11 20:28

如何将数组形参的大小用变量表达?

int p=6;void show(double a[],int kk)
{
    int i=0,j=0;
    for(i=0;i<kk;i++)
    {
      for(j=0;j<kk+1;j++)
      {
            printf("a[%d][%d]=%10.10f\n",i,j,a);
      }
   printf("\n");
    }
}如何把函数形参的a[]改成a[]?
p可以是全局变量。

[ 本帖最后由 风花雪月 于 2009-7-29 17:05 编辑 ]

livejt 发表于 2009-3-24 10:15

除非是const类型,否则不可以。

lilili606 发表于 2009-3-24 12:01

用二级指针类型做虚参试试

[ 本帖最后由 lilili606 于 2009-3-24 12:03 编辑 ]

dizhuang 发表于 2009-3-27 13:56

恩 ,除非是const int 型的,否则不可以,但是我记得啊,说的不对别拍我,这有时候和编译器有关,当然C++标准里面肯定不准许,但是可能在VC++通过编译。你要是非得这么做,也就是用2级指针了。

lq12131010 发表于 2009-3-27 19:34

我现在 尽量用C#.....
C#...很方便 各种随意。。

beyondhxf 发表于 2009-4-2 08:45

回复 板凳 lilili606 的帖子

谢谢啊,我现在经过查资料,知道用二级指针很方便,就是不知道具体的格式是怎么样的,你能不能给我写一个小例子,包括主函数怎么调用这个二级指针函数的部分。感激不尽!

beyondhxf 发表于 2009-4-2 08:46

回复 地板 dizhuang 的帖子

给个例子吧,谢谢。

tutu08 发表于 2009-4-2 12:29

动态数组?

lilili606 发表于 2009-4-2 13:12

我对C不熟悉,用C++写了个例子 你看看能不能读懂,C的格式输出我一直就很晕:loveliness:#include <iostream>
using namespace std;
void show(double **a,int kk);
int p=6;
int main()
{
      int i=0,j=0;
      double *a;
      for(i=0;i<2;i++)
      {
                a=new double;
      }
      for(i=0;i<2;i++)
                for(j=0;j<p;j++)
                        a=1;
      show(a,2);
      return 0;
}

void show(double **a,int kk)
{
      int i=0,j=0;
    for(i=0;i<kk;i++)
    {
      for(j=0;j<p;j++)
      {
            cout<<a;
      }
   printf("\n");
    }
}

[ 本帖最后由 风花雪月 于 2009-7-29 17:04 编辑 ]

beyondhxf 发表于 2009-4-3 13:02

回复 9楼 lilili606 的帖子

完全理解!写的很好,简明但不简单!我问的意思都表示出来了!我的问题也解决了,谢谢。现在看起来也不难,可能当初书上没给例子,我又认为这是一个很难的东西,所以出了几个错误就放弃了。

lilili606 发表于 2009-4-3 14:22

明白就好,我就是不明白论坛为啥会把我写的a过滤成a。。。。

beyondhxf 发表于 2009-4-4 10:04

回复 11楼 lilili606 的帖子

哦,应该是a吧

beyondhxf 发表于 2009-4-4 10:04

回复 11楼 lilili606 的帖子

晕,我的也被过滤了,少了个i

lilili606 发表于 2009-4-4 13:51

就是这样。。。。
页: [1]
查看完整版本: 如何将数组形参的大小用变量表达?