jamesbow 发布留言 2008-9-9 17:48 请教给二维数组赋值的问题,谢谢!源程序如下: #include main(){ int i,j,k,m,a[6]={5,3,9,8,7,1}; int temp[][4]={0,0,0,0}; for(i=0;i<=2;i++) { for(j=i+1;j<=3;j++) { for(k=j+1;k<=4;k++) { for(m=k+1;m<=5;m++) printf("%d %d %d %d\n",a,a[k],a[m]);}}}}
现在问题是如何把printf出来数赋给temp[][4]这个数组。请各位帮忙,谢谢!cosdos 发布留言 2008-9-9 18:07 此代码中,不存在二维数组jamesbow 发布留言 2008-9-9 18:22 我在行4中定义了一个二维数组temp呀,printf后在屏幕上有 5 3 9 8 5 3 9 7 5 3 9 1 5 3 8 7 ....... 想把上面的结果赋给temp这个二维数组,使temp[][4]={5,3,9,8,5,3,9,7,5,3,9,1.............} 谢谢。QQ0001000 发布留言 2008-9-9 18:29 晕了.没有看明白你的意思> 二维数组temp呀,printf后在屏幕上有,有的话, 那你就是输出temp数组的内容了.怎么还把上面的结果赋给temp这个二维数组cosdos 发布留言 2008-9-9 18:44 printf("tempsize = %d", sizeof(temp) ); /* 这样你看下 */飞天舞xsj 发布留言 2008-9-9 19:15 此代码中,的确不存在二维数组。int temp[][4]={0,0,0,0};系统会根据总个数分配存储空间,一共4个数据,每行4列,当然可确定为一行,即一维数组。与 int temp[4]={0,0,0,0};等效。正确定义要么int temp[][4]={{0},{0},{0},{0}}; 要么全部将元素列出来。总之二维数组初始化定义还没搞明白。loveJE 发布留言 2008-9-9 19:20 int temp[][4]={0,0,0,0}; 这样定义的话temp应该只有4个元素,sizeof(temp)应该=16…zhf63 发布留言 2008-9-9 21:24 main(){ int i,j,k,m,a[6]={5,3,9,8,7,1}; int index=0; int temp[20][4]={0}; for(i=0;i<=2;i++) { for(j=i+1;j<=3;j++) { for(k=j+1;k<=4;k++) { for(m=k+1;m<=5;m++) printf("%d %d %d %d\n",a,a[k],a[m]); temp[0]=a[1]=a[j]; temp[2]=a[k];temp[3]=a[m]; index++; }}}}cosdos 发布留言 2008-9-9 21:35 int temp[][4] = {0,0,0,0};
temp[1][0] 就超出了数组
[ 本帖最后由 cosdos 于 2008-9-9 21:36 编辑 [/it]]shade1220 发布留言 2008-9-9 22:11 如果2维数组作为形式参数,是使用**arry 有没有哪位兄弟给我介绍下**arry的指向和参数传递相关事宜 [tk03]广陵绝唱 发布留言 2008-9-9 22:27 [code]#include int main(void) { int i,j,k,m,l,a[6]={5,3,9,8,7,1}; int temp[40][4]; l=0; for(i=0;i<=2;i++) for(j=i+1;j<=3;j++) for(k=j+1;k<=4;k++) for(m=k+1;m<=5;m++) { temp[l][0]=a[1]=a[j]; temp[l][2]=a[k]; temp[l][3]=a[m]; l++; } for(i=0;i { for(j=0;j<4;j++) printf("%d ",temp); printf("\n"); } getch(); return 0; } [/code]
页: [1] 特别说明:如网页特效代码中有引用图片文件等,请自己下载到本地调试! |