C-Programmierung erwartet ";" oder "," or ")" before numeric constant

Haben Sie Probleme mit dem lernen, wie man Parameter verwenden, jedes mal, wenn ich versuche, Sie mit definierten Konstanten. Ich erhalte die erwartete, bevor numerische Konstante Fehler, das wird eine Funktion sein, aber ich möchte sicherstellen, dass es funktioniert, bevor die hand. wenn ich die ganzen zahlen in der Haupt-es funktioniert wie erwartet und gibt die gewünschte ganze Zahl. Diese Funktion soll den Benutzer auffordern, für eine Antwort und vergleichen Sie es mit dem Menü Liste. die Liste hat drei ganze zahlen 1,2,3. 1,2 zurückgeben sollte die option nicht verfügbar 3 zurückgeben sollte eine gültige Antwort etwas anderes zurückgeben sollte, ungültig. Sein Zweck ist, zu handeln, als eine option validator also in der Hauptsache der Benutzer gibt eine Zahl, dann wird diese Funktion prüft es auf Gültigkeit. in anycase, wie kann ich die definierten Konstanten, die innerhalb der Funktion?

    #define high 3
    #define low 1
    #include <stdio.h>

    int main(){
    int option;
     printf("--main menu--- \n");
     printf("--New Game(1) \n");
     printf("--load game(2) \n");
     printf("--exit game(3) \n");
     printf("--------------- \n");
     option=validate(low,high);
     printf(" option %d \n",option);
     return 0;
     }
int validate(int high,int low){
    int option,valid;
    do{printf("enter an option! \n");
       scanf("%d",&option);


    if(option < low || option > high){
            printf("Invalid selection! \n");
            option=0;
    if(option < low || option > high){
            printf("Invalid selection! \n");
            option=0;
    }
    if(option >= low && option < high){
            printf("option unavailable \n");
            option=0;
    }
    if(option==high){
            printf("valid selection!");
            valid=option;
            return valid;
    }while(option==0);
    }
  • Ihre Deklaration der Funktion main ist ungültig. Für eine Sache, die main eine argc und argv. und zum anderen, sobald Sie erweitert die #defines Sie deklarierten es als int main(int 3, int 1) das ist Unsinn.
  • main () - Funktion nimmt keine Argumente wie angegeben. Lesen Sie ein Buch.
  • Ihre main preprocesses zu int main(int 3, int 1). Nächstes mal solltest du posten welche Zeile den Fehler Punkte zu.
  • Unklar ist, was der OP will mit Antworten, die auch Antwort auf original-post-problem.
  • Sie waren auch fehlt ein Semikolon nach der Zuweisung valid = option in block if(option == high)
InformationsquelleAutor Mike Dobson | 2016-07-23
Schreibe einen Kommentar