警告参数名称[当我尝试加载我的数组时

时间:2018-04-17 08:17:40

标签: c arrays pointers

当我尝试使用指针加载数组时,我收到此消息。 我不知道为什么这个问题一直出现,因为上一个程序没有问题

#include<stdio.h>
#define T 10

void FLoad(int *);

void main () {
   int a[T];

   void FLoad(a);
}

void FLoad(int *a) {
   int x;

   for (x = 0; x < T; x++)
      scanf("%d", a+x);
}

这是一个完美运作的小程序

#include <stdio.h>

void FImp(int *, int );

main () {
   int a[] = {-10,-5,3,4}, tam;

   tam = sizeof(a) / sizeof(int);
   FImp(a, tam);
}

void FImp(int *a, int t) {
   int x;

   for (x = 0; x < t; x++)
      printf("%d ",*(a + x));
   putchar('\n');
}

2 个答案:

答案 0 :(得分:1)

调用函数时使用的语法不正确

void main()
{
    int a[T];
    void FLoad(a);
}

应该是

void main()
{
    int a[T];
    FLoad(a);
}

甚至更好

int main(void)
{
    int a[T];
    FLoad(a);
}

调用它时,不要指定函数返回值。

答案 1 :(得分:0)

void FLoad(a);

这不会调用该函数。编译器会将此视为函数声明。所以在没有空的情况下调用函数它会正常工作。