ポインタで困っています。オフィスアワーに行くべきだったのはわかっていますが、どうしても助けが必要です。現在の最大の問題は、このプログラムをデバッグしようとすることです。私の理解では、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