重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
空函数就是什么也不做的函数。
10多年的长沙网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整长沙建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“长沙网站设计”,“长沙网站推广”以来,每个客户项目都认真落实执行。
void kong(){ //函数没形参
int a[2][3]={1,2,3,4,5,6}; //函数内有个二维数组
}
void kong2(int b[3][3]){ //函数形参有个二维数组
int a[3][2]={1,2,3,4,5,6}; //函数内有个二维数组
}
main(){
int c[3][3];
kong(); // 调用空函数,试试无参
kong2(c); // 调用空函数,试试参数传递
return 0;
}
函数调用不能这么用,第36行。C标准里面返回值是不能直接返回一个数组的,只能返回数组的首地址。输出学生成绩和每科成绩那个函数,你可以定义一个全局变量数组,还有求平均值最好用float 或者double,用int会造成精度流失。帮你调试了一下,大概就这样吧
1、我们首先定义一个二级指针和一个行列变量[int ** array,row,column;]。
2、然后我们编写进入行和列的语句,代码如图所示。
3、接下来我们可以用一维数组打开一维一维数组。
4、接下来,我们使用[array [i] =(int *)malloc(sizeof(int)* column);]来为数组再次生成包含该数组的新数组。
5、然后我们可以为它赋值并输出[代码如图所示]。
6、运行程序后我们可以看到这种效果。
C语言中
指针做函数参数传递二维数组有两种基本方法:1、传递“数组指针”pre
t="code"
l="cpp"#include
stdio.h
void
output(
int
(*pa)[3],
int
n
)//这个函数只能输出n行3列的二维数组
{
int
i,j;
for(
i=0;in;i++
){
for(
j=0;j3;j++
)
printf("%d
",
pa[i][j]
);
printf("\n");
}
}
void
main()
{
int
a[2][3]={
{1,2,3},
{4,5,6}
};
output(a,2);
}2、传递“指针数组”
先将二维数组的行指针存储到一个指针数组中,再将指针数组传递到子函数中去。pre
t="code"
l="cpp"#include
stdio.h
void
output(
int
*pa[],
int
row,int
col
)
//这个函数更通用,但调用前,要做好准备工作。
{
int
i,j;
for(
i=0;irow;i++
){
for(
j=0;jcol;j++
)
printf("%d
",
pa[i][j]
);
printf("\n");
}
}
void
main()
{
int
a[2][3]={
{1,2,3},
{4,5,6}
};
int
i;
int
*pa[2];
for(
i=0;i2;i++
)
pa[i]=a[i];
output(pa,
2,
3);
}
int output2dArr(int rows,int cols ,int arr[rows][cols]);你这个函数定义就有问题。因为定义数组时必须定义数组的大小。你可以这样写int output2dArr(int rows,int cols ,int arr[ ][ ]);
还有你没有理解数组,定义数组的时候就需要为数组开辟一块空间,这个空间开辟后就不能再增加了。还有c语言不同于c++。c语言的定义是必须放在最前面的,而c++只需要先定义再使用就可以了。你把数组的大小改为定值就可以了。必须是常数