当我尝试使用指针加载数组时,我收到此消息。 我不知道为什么这个问题一直出现,因为上一个程序没有问题
#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');
}
答案 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);
这不会调用该函数。编译器会将此视为函数声明。所以在没有空的情况下调用函数它会正常工作。