A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. /*!
  2. 从键盘上接收两个参数分别存放到m,n中,使用m和n构成数组:
  3. 1.        定义一个函数使用i*j初始化a[i][j]
  4. 2.        定义一个函数打印二维数组的每一个值
  5. */

  6. #include <stdio.h>
  7. /*!
  8. * @brief  遍历数组值
  9. *
  10. * @param m   行
  11. * @param n   列
  12. * @param arr 数组名
  13. *
  14. */
  15. void print_arr(int m,int n,arr[m][n]){
  16.     for (int i = 0; i < m; i++) {
  17.         for (int j = 0; j < n; j++) {
  18.             printf("%d\t",arr[i][j]);
  19.         }
  20.         printf("\n");
  21.     }
  22. }

  23. /*!
  24. *
  25. * @param i         行
  26. * @param j         列
  27. *
  28. */
  29. void ding_yi(int m,int n,int arr[m][n]){
  30.     for (int i = 0; i < m; i++) {
  31.         for (int j = 0; j < n; j++) {
  32.             arr[i][j] = (i+1) * (j+1);//给数组每个元素都赋值:i*j
  33.         }
  34.     }
  35.    
  36. }

  37. int main() {
  38.     int m,n;
  39.     printf("输入行数和列数,用逗号隔开:\n");
  40.     scanf("%d,%d",&m,&n);
  41.     printf("%d,%d",m,n);
  42.     int arr[m][n];
  43.     //调用初始化函数
  44.     ding_yi(m,n,arr[m][n]);
  45.     //调用打印数组函数
  46.     print_arr(m,n,arr);
  47.     return 0;
  48. }
复制代码

6 个回复

正序浏览
回答的挺好
回复 使用道具 举报
这是啥子撒,看不懂
回复 使用道具 举报
Eil.tea 发表于 2015-8-14 15:37
传地址传地址传地址传地址传地址传地址传地址,你就好了

{:2_31:}恩,
回复 使用道具 举报
传地址传地址传地址传地址传地址传地址传地址,你就好了
回复 使用道具 举报
额, 定义的方法都是值传递,你应该在main函数定义数组,然后传参和调用的时候应该传的是数组的地址,这样才能给数组进行赋值和遍历。。
回复 使用道具 举报
print_arr 方法的int数组参数是不是传错了?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马