首页 > 解决方案 > 在没有全局变量或更改 C 中的函数输入的情况下对函数内部的数组进行变量分配

问题描述

我有一组特定的约束。如果没有约束,问题就不难了。

    #define ROW 12
    #define COL 6   

    int main (void)
    {
    // Code can be changed in brackets
        char arr[ROW][COL];
        function1(arr);
        printf("%s", arr[0][0]); 
    }


    void function1(char arr[][COL]){  //Can't change anything in this line
    // Code allowed to be changed inside brackets
    // Trying to assign values to multi-dim array as shown below
        arr[0][0] = 'O';
    }

进程以退出代码 -1073741819 (0xC0000005) 结束

标签: c

解决方案


更改arr[0][0] = "O";arr[0][0] = 'O';

在中指定正确的格式printf("%s", arr[0][0]); //<-----should be %c

#define ROW 12
#define COL 6   

    int main (void)
    {
    // Code can be changed in brackets
        char arr[ROW][COL];
        function1(arr);
        printf("%c", arr[0][0]); //<----------- should be %c
    }


    void function1(char arr[][COL]){  //Can't change anything in this line
    // Code allowed to be changed inside brackets
    // Trying to assign values to multi-dim array as shown below
        arr[0][0] = 'O';
    }

推荐阅读