我在使用指针时遇到问题。我知道我应该去上班时间,但我迫切需要帮助。现在最大的问题是试图调试这个程序。据我了解,我应该在我的 void 函数中声明一个地址。之后,我必须将 & 用于 readfile(%testarray)。我究竟做错了什么?我的程序的目标是读取一个数字文件并将它们存储在一个数组中。然后,我将打印数组中的所有数字。任何帮助将不胜感激。
sort.c:11:3: warning: passing argument 1 of 'read_file' makes pointer from integer without a cast [enabled by default]
sort.c:3:6: note: expected 'int **' but argument is of type 'int'
sort.c: In function 'read_file':
sort.c:27:3: warning: format '%d' expects argument of type 'int *', but argument 3 has type 'int' [-Wformat]
代码:
#include <stdio.h>
#include <stdlib.h>
void read_file(int* myList[]);
int main()
{
int testarray[20];
read_file(&testarray[20]);
return 0;
}
void read_file(int* myList[])
{
FILE* inFile;
int i;
inFile = fopen("data.txt","r");
if (inFile == NULL)
{
printf("Unable to open file");
exit(1);
}
i = 0;
while (fscanf(inFile,"%d", *myList[i]) != EOF)
{
printf("%d ", *myList[i]);
i = i+1;
}
printf("\n");
printf("%d\n", i );
} //void