如何将数组形参的大小用变量表达?
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 编辑 ] 除非是const类型,否则不可以。 用二级指针类型做虚参试试
[ 本帖最后由 lilili606 于 2009-3-24 12:03 编辑 ]
恩
恩 ,除非是const int 型的,否则不可以,但是我记得啊,说的不对别拍我,这有时候和编译器有关,当然C++标准里面肯定不准许,但是可能在VC++通过编译。你要是非得这么做,也就是用2级指针了。 我现在 尽量用C#.....C#...很方便 各种随意。。
回复 板凳 lilili606 的帖子
谢谢啊,我现在经过查资料,知道用二级指针很方便,就是不知道具体的格式是怎么样的,你能不能给我写一个小例子,包括主函数怎么调用这个二级指针函数的部分。感激不尽!回复 地板 dizhuang 的帖子
给个例子吧,谢谢。 动态数组? 我对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 编辑 ]
回复 9楼 lilili606 的帖子
完全理解!写的很好,简明但不简单!我问的意思都表示出来了!我的问题也解决了,谢谢。现在看起来也不难,可能当初书上没给例子,我又认为这是一个很难的东西,所以出了几个错误就放弃了。 明白就好,我就是不明白论坛为啥会把我写的a过滤成a。。。。回复 11楼 lilili606 的帖子
哦,应该是a吧回复 11楼 lilili606 的帖子
晕,我的也被过滤了,少了个i 就是这样。。。。
页:
[1]