以数组作为函数参数的一些问题

以数组作为函数参数的一些问题

问题描述:

怎样让计算机知道我的参数是整个数组而不是索引啊?它总是出现报错

#include<stdio.h>
void eva(int arr[10]);
void play(int arr[10]);
main() {
    int a[10];
    eva(a[10]);
    play(a[10]);

}
void play(int arr[10]) {
    int i;
    for (i = 0;i < 10;i = i + 1) {
        printf("%d\n", arr[i]);
    }
}
void eva(int arr[10]) {
    int i;
    for (i = 0;i < 10;i = i + 1) {
        arr[i] = i;
    }
}

改成这样就行了

#include<stdio.h>

void eva(int arr[]);
void play(int arr[]);

int main()
{
    int a[10];
    eva(a);
    play(a);
}
void play(int arr[])
{
    int i;
    for (i = 0; i < 10; i = i + 1)
    {
        printf("%d\n", arr[i]);
    }
}
void eva(int arr[])
{
    int i;
    for (i = 0; i < 10; i = i + 1)
    {
        arr[i] = i;
    }
}

图片说明

把主函数中eva(a[10]); play(a[10]);改为eva(a); play(a);就行了。