Warnung: return from incompatible pointer type C

Den code unten erzeugt eine incompatible pointer type Fehler-und Warnung: Steuern Sie erreicht Ende von nicht-void function in der Funktion mit dem Namen:

#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;

    }
}

Ich bin neu hier, kann mir jemand helfen bei diesem Fehler?

Ihre main Funktionsaufrufe filename ohne mit der return-Wert, also warum die Funktion brauchen, um etwas zurückzugeben?
Eigentlich sollte die Frage sein: warum nicht main mit der return-Wert? Drucken Sie, "denken Sie daran" kostenlos", aber dann nie frei.

InformationsquelleAutor Sarah Wishart | 2012-10-18

Schreibe einen Kommentar