Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在函数中填充数组_C_Function_Multidimensional Array - Fatal编程技术网

C 在函数中填充数组

C 在函数中填充数组,c,function,multidimensional-array,C,Function,Multidimensional Array,我在下面的代码中遇到了错误。你能帮我纠正一下吗?我是编程初学者 #include <stdio.h> #include <stdlib.h> int array1(int); 在构建项目时看到以下错误: ..\src\FunctionWithArray.c:在函数“array1”中: ..\src\FunctionWithArray.c:42:9:警告:从返回类型为“int”的>函数返回“int*[100]”会从指针生成整数,无需强制转换>[-Wint转换] 返回阵列

我在下面的代码中遇到了错误。你能帮我纠正一下吗?我是编程初学者

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

int array1(int);
在构建项目时看到以下错误:

..\src\FunctionWithArray.c:在函数“array1”中: ..\src\FunctionWithArray.c:42:9:警告:从返回类型为“int”的>函数返回“int*[100]”会从指针生成整数,无需强制转换>[-Wint转换] 返回阵列1; ^~~~~~ ..\src\FunctionWithArray.c:42:9:警告:函数返回局部变量的地址[-Wreturn local addr]

23:34:36生成失败。1个错误,3个警告。花了205ms


代码中有一些问题需要解决,首先,返回本地数组是一个坏主意,正如编译错误所表明的,当函数返回时,它的生存期将过期,之后再访问它,即使您修复了赋值,但不能这样做,调用。除此之外,还有一些其他小问题在下面的代码中修复和注释:

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

void array1(int val, int Array1[][100]); // pass the array as argument

代码中有一些问题需要解决,首先,返回本地数组是一个坏主意,正如编译错误所表明的,当函数返回时,它的生存期将过期,之后再访问它,即使您修复了赋值,但不能这样做,调用。除此之外,还有一些其他小问题在下面的代码中修复和注释:

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

void array1(int val, int Array1[][100]); // pass the array as argument

不能分配数组。此外,不能从函数返回本地定义的数组。请修复缩进,此代码无法读取。我无法使用返回数组值调用函数?@RamsidNv否,数组是本地的,您最好将其作为函数的参数传递。@anastaciu我没有得到,请解释一下?请注意,我刚刚开始学习C编程。@RamsidNv好的,我回答了解释问题的问题。由于您是一名初学者,如果您有兴趣在坚实的基础上学习该语言,请允许我向您介绍您不能分配数组。此外,不能从函数返回本地定义的数组。请修复缩进,此代码无法读取。我无法使用返回数组值调用函数?@RamsidNv否,数组是本地的,您最好将其作为函数的参数传递。@anastaciu我没有得到,请解释一下?请注意,我刚刚开始学习C编程。@RamsidNv好的,我回答了解释问题的问题。既然你是一个初学者,如果你有兴趣在坚实的基础上学习这门语言,让我推荐你
#include <stdio.h>
#include <stdlib.h>

void array1(int val, int Array1[][100]); // pass the array as argument
int main(void)
{
    int num, array[100][100], ys, i, j;

    setbuf(stdout, NULL);
    printf("Print Fist Array Value: ");

    if(scanf("%d", &num) != 1) // it's always a good idea to guard against input problems
    {
        // deal with bad input
    }

    array1(num, array); // execute the function, no assignment needed
    printf("Do you want to print First Array? ");
    scanf("%d", &ys);
    if (ys == 1)
    {
        for (i = 0; i < num; i++)
        {
            for (j = 0; j < num; j++)
            {
                printf("%d ", array[i][j]); // format specifier needed
            }
            putchar('\n');
        }
    }
    else
    {
        printf("Thanks, Not Printed!");
    }
    return EXIT_SUCCESS;
}
void array1(int val, int Array1[][100])
{
    int i, j;
    printf("Enter First Array Values: ");
    for (i = 0; i < val; i++)
    {
        for (j = 0; j < val; j++)
        {
            scanf("%d", &Array1[i][j]);
        }
    }
}