如何在函数中传递三维数组?
voidVisual(chara,intn)//比如这一句的传递格式有错,但是不知道应该怎么改{inti,j;for(i=0;i<N;i++){for(j=0;j<N;j...
void Visual(char a, int n)//比如这一句的传递格式有错,但是不知道应该怎么改
{
int i, j;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
cout << a[i][j][n] << " ";
}
cout << endl;
}
}
int main()
{
char a[N][N][8];
int n;
Visual(a, n);
} 展开
{
int i, j;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
cout << a[i][j][n] << " ";
}
cout << endl;
}
}
int main()
{
char a[N][N][8];
int n;
Visual(a, n);
} 展开
2个回答
展开全部
#include<iostream>
using namespace std;
#define N 3//修改1
void Visual(char (*a)[N][N], int n)//修改3,以“修改2”的形式定义数组才好定义形参
{
int i, j;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
cout << a[n][i][j] << " ";//修改4
}
cout << endl;
}
}
int main()
{
char a[8][N][N];//修改2,数组应以这种形式定义
int n=1;//修改5
//用于测试
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
a[n][i][j]='0';
}
}
Visual(a, n);
}
2015-06-05 · 知道合伙人互联网行家
关注
展开全部
1、数组在函数中的传递是以指针方式进行的,作为实参,被调函数仅接收数组的首址,至于数组的长度往往需要另外一个实参提供(字符数组除外),
2、欲将在被调函数中定义的数组传递(返回)给调用函数,需要动态申请(new)内存,并仍以指针方式回传,长度不需要回传,但要记住在程序结束前要释放(delete)已申请的动态空间。
2、欲将在被调函数中定义的数组传递(返回)给调用函数,需要动态申请(new)内存,并仍以指针方式回传,长度不需要回传,但要记住在程序结束前要释放(delete)已申请的动态空间。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询