次のコードは、互換性のないポインター型のエラーと警告を生成します。制御がファイル名関数の非 void 関数の終わりに到達します。
#include <stdio.h>
#include <stdlib.h>
int quit;
char *filename(int *);
int main ()
{
filename(&quit);
return 0;
}
char *filename(int *i1)
{
char input[16];
char *dum=(char*)malloc(16*sizeof(char));
if (dum==NULL){
printf("Memory could not be allocated \n");
}
else {
printf("Memory was allocated – remember to free\n \n");
*i1=1;
fputs("Input filename = ", stdout);
fflush(stdout);
fgets(input,sizeof(input),stdin);
printf("Filename = \"%s\"\n",input);
return i1;
}
}
私はこれに慣れていません。誰かがこのエラーを手伝ってくれますか?