return fehler



  • habe folgendes in c geschrieben, wollte einfache ausgabe ausprobieren, zeigt aber fehler:

    #include <stdio.h>
    #pragma argsused
    int i, j, k, l, m, n;
    int f(int *j) { m = *j+10; *j = 2; return (m+n); }
    int p (int k)
    {
    int *q, i;
    j=j+k;
    n+=j;
    q = &n;
    printf("In p; f() = %d, n=%d\n\rj = %d", f(q), n, j);
    }
    void
    main(void)
    {
    i=j=k=l=m=n=1;
    p(j);
    printf("\n\ri: %d, j: %d, n: %d", i, j, n);
    getc(stdin);
    }

    Fehler:
    'main' must return 'int'

    kann jemand korrigieren?!



  • sollte eigentlich ein warning sein, kein fehler, hehe, mach aus 'void main ...' einfach 'int main ...'. das reicht schon



  • net schrieb:

    sollte eigentlich ein warning sein, kein fehler, hehe, mach aus 'void main ...' einfach 'int main ...'. das reicht schon

    Das ist schon gut so, dass es ein Fehler ist ;).

    @Vano
    Deine Funktion p() hat als Rückgabetyp int, d. h. deine Funktion sollte dann auch was zurückgeben, ansonsten solltest du für den Rückgabetyp void (= nix) wählen.


Anmelden zum Antworten