immer die Fehler: expected identifier or '(' before '{' token

Immer diese Fehlermeldung : expected identifier or ‘(’ before ‘{’ token auf die erste Klammer nach der #include vor der int main. Keine Ahnung, warum! Tut eine Zuordnung für einen Einführungskurs zur Programmierung. Es ist heute fällig, so dass jede Hilfe wäre dankbar!

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
{
int main(void);

int cardNum(int firstCard, int secondCard; 
int highLow;
int score;

score = 0;   
srand(time(NULL));

    printf("The current card is a %d\n" ,firstCard(2,14));
    printf("\n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
    scanf("%d" ,highLow);
if cardNum > 1 && cardNum < 11
{        
     printf ("The card is: %d ,secondCard.");
}        
else if cardNum == 11
{
if highLow == 1, && secondCard > firstCard OR highLow == 2, && secondCard < firstCard
    {   
        score = score + 1; 
        printf ("\n You have guessed correctly.");
        printf ("\n Your current score is %d ,score!\n");
        printf("The current card is a ("%d" ,cardOne). \n Will the next card be           higher(1) or lower(2)? (press 0 to quit)");
    }    
else if highLow == 1, && secondCard < firstCard OR highLow == 2, && secondCard > firstCard  
    {
        score = score - 1;
        printf ("The card is: %d ,secondCard.");
        printf ("\n You have guessed incorrectly.");
        printf ("\n Your current score is %d ,score!\n");
        printf ("The current card is a %d ,cardOne."); 
        printf ("\n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
    }
else if secondCard == firstCard
    {
        printf ("\n Matching cards, no change in score");
    }
else if highLow == 0
    {
        printf ("\n Thanks for playing! Your final score is %d, score.");
    }
else
    {
        printf ("\n Incorrect input. Please enter 0, 1 or 2")       
    }
}    
return(0);
}

Hatte ich anfangs, wie es das mit int main(void){ aber dann war ich immer all diese Fehler statt, so dass ich geändert, um das Semikolon und bekam immer nur, dass man Fehler.

a3.c: In function 'main':
a3.c:24:5: Fehler: expected declaration specifiers or '...' before 'Wert'
a3.c:25:5: Fehler: expected declaration specifiers or '...' before 'srand'
a3.c:27:5: Fehler: expected declaration specifiers or '...' before 'printf'
a3.c:28:5: Fehler: expected declaration specifiers or '...' before 'printf'
a3.c:29:5: Fehler: expected declaration specifiers or '...' before 'scanf'
a3.c:31:5: Fehler: expected declaration specifiers or '...' before 'if'
a3.c:82:1: Fehler: expected declaration specifiers or '...' before '}' token
a3.c:82:1: Fehler: expected ';', ',' or ')' before '}' token
a3.c:82:1: Fehler: expected declaration oder Erklärung am Ende der Eingabe
a3.c:82:1: Warnung: control erreicht Ende von nicht-void-Funktion [-Wreturn-Typ]

  • Entfernen Sie das"; " nach int main(void)
  • { int main(void); ===> int main(void) {
  • auch if cardNum > 1 && cardNum < 11 sollte if (cardNum > 1 && cardNum < 11)
  • Ja, beheben. Sie werde Entsendung eine andere Frage bald.
  • Es gibt viele Fehler in diesem Programm. Die, die Ihr compiler meldet, ist nur der erste one.
  • Ich hatte anfangs auch es wie dass mit int main(void){ aber dann war ich immer all diese Fehler statt, so dass ich geändert, um das Semikolon und bekam immer nur, dass man Fehler.
  • Dies ist ein guter Grund zum hinzufügen der öffnenden Klammer rechts nach der Funktion, anstatt auf einer neuen Zeile. Auf einen Blick ist es nicht etwas zu sehen einfach, vor allem, wenn es so viele Klammer-Paare, ohne leere Zeilen getrennt sind. Wenn Sie möchten, verwenden Sie die gleiche Klammer Muster, möchten Sie vielleicht, um zumindest Opfer einer anderen Zeile zur Verfügung, um dieses Problem so gut.

Schreibe einen Kommentar