打印数组的功能

时间:2014-10-01 04:03:23

标签: c arrays function pointers

有人可以解释为什么打印不正确吗? 这是具有读取和打印数组功能的基本程序。一切似乎都是根据我读到的...... 我是新手,似乎无法指出工作。 提前谢谢!

#include <stdio.h>
#include <stdlib.h>

#define SIZE 2

void readArray(int *a);
void printArray(int *a);

int main (int argc, char *argv[])
{
    int array[SIZE][SIZE];

    readArray(&array[SIZE][SIZE]);

    printf("Array [1][2] = %d.\n\n\n", array[1][2]);

    printArray(&array[SIZE][SIZE]);

    system ("PAUSE");
    return 0;
}

void readArray(int *a)
{
    int i, j;
    for (i = 0; i < SIZE; i++)
    {
        for (j = 0; j < SIZE; j++)
        {
            printf("Array [%d] [%d]: ", i, j + 1);
            scanf("%d \n",&a);
        }
    }
}

void printArray(int *a)
{
    int i, j;
    for (i = 0; i < SIZE; i++)
    {
        for (j = 0; j < SIZE; j++)
        {
            printf("Array [%d] [%d]: ", i, j + 1);
            printf("%d \n",*a);
        }
    }
}

1 个答案:

答案 0 :(得分:-1)

    #include<stdio.h>
    #include<conio.h>
    void main()
    {
         int i,j,a[2][2];
         printf("Enter array\n");
         for(i=0;i<2;i++) //take condition i<2 because of your default size
         {
           for(j=0;j<2;j++)
            {
              scanf("%d",&a[i][j]);
            }
         }
          printf("Printing array\n");
          for(i=0;i<2;i++)
          {
            for(j=0;j<2;j++)
            {
                printf("%d\t",*(*(a+i)+j));
            }
            printf("\n");
          }
getch();
}

试试这段代码