黑马程序员技术交流社区
标题:
在线等解答!疯了,这是咋了
[打印本页]
作者:
songynnm
时间:
2015-8-13 21:47
标题:
在线等解答!疯了,这是咋了
/*!
从键盘上接收两个参数分别存放到m,n中,使用m和n构成数组:
1. 定义一个函数使用i*j初始化a[i][j]
2. 定义一个函数打印二维数组的每一个值
*/
#include <stdio.h>
/*!
* @brief 遍历数组值
*
* @param m 行
* @param n 列
* @param arr 数组名
*
*/
void print_arr(int m,int n,arr[m][n]){
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d\t",arr[i][j]);
}
printf("\n");
}
}
/*!
*
* @param i 行
* @param j 列
*
*/
void ding_yi(int m,int n,int arr[m][n]){
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
arr[i][j] = (i+1) * (j+1);//给数组每个元素都赋值:i*j
}
}
}
int main() {
int m,n;
printf("输入行数和列数,用逗号隔开:\n");
scanf("%d,%d",&m,&n);
printf("%d,%d",m,n);
int arr[m][n];
//调用初始化函数
ding_yi(m,n,arr[m][n]);
//调用打印数组函数
print_arr(m,n,arr);
return 0;
}
复制代码
作者:
socl_ycl
时间:
2015-8-14 13:52
print_arr 方法的int数组参数是不是传错了?
作者:
星耀
时间:
2015-8-14 15:21
额, 定义的方法都是值传递,你应该在main函数定义数组,然后传参和调用的时候应该传的是数组的地址,这样才能给数组进行赋值和遍历。。
作者:
Eil.tea
时间:
2015-8-14 15:37
传地址传地址传地址传地址传地址传地址传地址,你就好了
作者:
songynnm
时间:
2015-8-14 20:36
Eil.tea 发表于 2015-8-14 15:37
传地址传地址传地址传地址传地址传地址传地址,你就好了
{:2_31:}恩,
作者:
李艳兵
时间:
2015-8-14 21:13
这是啥子撒,看不懂
作者:
xiaoguang
时间:
2015-8-14 21:33
回答的挺好
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2