传递函数初学者

时间:2013-11-10 10:35:18

标签: c function multidimensional-array

作为我即将到来的星期二的实验室测试的一部分,我们需要能够做到这个问题,否则我们将无法进行真正的考试!

以下是代码:

 * This program finds the range between highest and lowest value of a 2-D array */

#include <stdio.h>

#define NROW 3
#define NCOL 3    

int main(void)
{
    /* declare needed variables or constants, e.g. */

    int ar[NROW][NCOL];
    int number;
    int rows, columns;

    /* prompt for the user to enter nine positive integers to be stored into the array */
    for ( rows = 0 ; rows < 3 ; rows++ )
    {
        for ( columns = 0 ; columns < 3 ; columns++ )
        {
            printf("Please enter 9 numbers " );

            scanf("%d", &number);ar[NROW][NCOL]

            /*store the number temporarily*/
            number = dispArray( ar[NROW][NCOL] )
        }
    }


    /* call the disp_arr(...) function */
    dispArray()

/* call the highest(...) function */


/* call the lowest(...) function */


/* display the range between highest and lowest number


/* Return to the operating system */


}
    void dispArray( a[][] )
    int rows, columns, a[][];

    for ( rows = 0 ; rows < 3 ; rows++ )
    {
        for ( columns = 0 ; columns < 3 ; columns ++ )
        {
            printf( "%d\t", a[][] );
        }
        printf("\n");
    }

    return a[][];

    /* Write a function where a[][] is the 2-D array
    Print the entire array to the screen. */

目前我只需要知道如何将数组打印到屏幕上。我的功能和我在main中称呼它的方式显然是错误的。

我在功能上非常糟糕,特别是在传递参数方面......我不知道它是什么。

任何帮助将不胜感激! 谢谢! 萨姆

2 个答案:

答案 0 :(得分:0)

您需要进行这些更改

/* call the disp_arr(...) function */
dispArray(ar)    

void dispArray(int a[][] )

然后,函数dispArray需要在{后紧跟}void dispArray(int a[][] )

答案 1 :(得分:0)

  • 首先,dispArray函数返回void,因此没有将其分配给number变量的点。
  • dispArray采用二维数组,因此调用应该看起来像dispArray(ar);
  • dispArray签名void dispArray(a[][])应为void dispArray(int a[][NCOL]),在您将int a[][]参数传递给函数后,无需在内部创建新的二维数组,从中删除a[][] int rows, columns, a[][];
  • 正如Robin所说,没有必要从dispArray
  • 返回[] []
  • 你在void dispArray(int a[][])
  • 之后忘记了大括号{...}