Syntaxfehler: Es fehlt ';' vor 'Typ'



  • Servus erstmal,

    ich habe eine kurze Frage, wäre nett wenn mir jemand dazu was sagen kann.
    Bei folgenden kleinen minprog kann ich nach der zeile

    xx=fopen("C:\\xx.txt","r+");
    

    nichts weiteres mehr schreiben, warum?

    #include <stdio.h>
    
    int main(void) 
    {
    	FILE* xx;
    
       xx=fopen("C:\\xx.txt","r+");
       fclose(xx);
    
    	int c=10;
    
       getch();
    }
    

    ist jetzt ziemlich banal, aber zum verdeutlichen reichts ja völlig.
    Warum kann ich net mehr int c=10; schreiben?
    Schreibe ich das vor die oben erwähnte Zeile geht alles.

    Fehlermeldung: "error C2143: Syntaxfehler: Es fehlt ';' vor 'Typ' "

    Programmiere mit Visual Studio 2005

    Besten Dank für Hilfe



  • In ansi c müssen alle variablen am anfang des jeweiligen blocks stehen.
    Also entweder weiter am anfang einer Funktion oder Schleife oder ...



  • merci..
    aber weitere funktionsaufrufe kann ich darunter schon noch schreiben, oder?
    probier ich direkt mal aus..



  • Müsste beides gehen 😉

    #include <stdio.h>
    
    int main(void) 
    { 
      FILE* xx;
      int c=10;
    
      xx=fopen("C:\\xx.txt","r+");
      fclose(xx);
      getch();
    }
    
    #include <stdio.h>
    
    int main(void) 
    { 
      FILE* xx;
    
      xx=fopen("C:\\xx.txt","r+");
      fclose(xx);
    
      {
        int c=10;
        getch();
      }
    }
    


  • lagalopex schrieb:

    In ansi c müssen alle variablen am anfang des jeweiligen blocks stehen.

    ab c99 kannste sie auch mitten im code anlegen. leider sind c99-fähige compiler eher die ausnamhe, also deshalb lieber an den anfang des blocks damit.
    🙂


Anmelden zum Antworten