从C中的2 d数组获得奇怪的输出

时间:2016-03-26 22:34:39

标签: c arrays

我希望在移动到更大的数组之前填充具有任意值的小二维数组。但是,当我编译并运行我的程序时,我得到了一些奇怪的输出。它不是完全正方形。如果有人能够指出我做错了什么会很棒。

void startarray(char (*arr)[10], int y_length, int x_length);
void printarray(char (*arr)[10], int y_length);

int main()
{
     char arr[10][10];
     startarray(arr, 10,10);
     printarray(arr, 10);

     return 0;
}

void startarray(char (*arr)[10], int y_length, int x_length)
{
    int i;
    int j;

    for(i = 0; i <= y_length; i++)
    {
         for(j = 0; j < x_length; j++)
         {
             arr[i][j] = 'a';
         }//end for
         arr[i][j] = '\0';  
    }//end for
}

void printarray(char (*arr)[10], int y_length)
{
      int i = 0;
      while(i < y_length)
      {
           printf("\n%s", arr[i]);
           i++;
      }//end while
}

0 个答案:

没有答案