2012-06-28 54 views
0

在「int RandomA,RandomB」行我繼續收到一個錯誤,錯誤表示預期的標識符或「(」。同樣的錯誤也彈出之間的結構卡以及卡的名稱我不確定如何修復它這是我第一次在這個網站上提出問題我正在使用mac osx應用命令行工具預期的標識符或「(」on Xcode 4.3.3

main.c文件

#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 

struct card { 
    char* name; 
    char* suit; 
    int value; 
}; 


void shuffle(struct card* deck){ 
    // Seed the random number generator 
    srandom(time (NULL)); 
    int i = 0; 
    int randomA, randomB; 
    struct card tempCard; 

    do { 
     // Generate 2 random numbers to determine which cards to swap 
     randomA = random() % 52; 
     randomB = random() % 52; 

     // Swap slots A and B 
     tempCard = deck[randomA]; 
     deck[randomA] = deck[randomB]; 
     deck[randomB] = tempCard; 

     // Increment the counter 
     ++i; 
    } 
    while (i<1000000); 

} 

void printDeck(struct card* deck){ 
    // Print out the shuffled deck 
    int i=0; 
    while (i<52) { 
     if (deck[i].value == 1) { 
      printf("The ace of %s is great!\n", deck[i].suit); 
     } 
     else { 
      switch (deck[i].value){ 
       case 11: 
        printf("A Jack of all trades (%s)\n",deck[i].suit); 
        break; 
       case 12: 
        printf("A Queen of the castle (%s)\n",deck[i].suit); 
        break; 
       case 13: 
        printf("The King of the world (%s)\n",deck[i].suit); 
        break; 
       default: 
        printf("The card is %s of %s\n", deck[i].name,deck[i].suit); 
        break; 
      } 

     } 

     i++; 

    } 
} 





     int main(int argc, const char * argv[]); 
{ 


    struct card deck[] = 

    { 

    {"ace", "spades", 1}, {"two", "spades", 2}, {"three", "spades", 3}, 
    {"four", "spades", 4}, {"five", "spades", 5}, {"six", "spades", 6}, 
    {"seven", "spades", 7}, {"eight", "spades", 8}, {"nine", "spades", 9}, 
    {"ten", "spades", 10}, {"jack", "spades", 11}, {"queen", "spades", 12}, 
    {"king", "spades", 13}, 
    {"ace", "clubs", 1}, {"two", "clubs", 2}, {"three", "clubs", 3}, 
    {"four", "clubs", 4}, {"five", "clubs", 5}, {"six", "clubs", 6}, 
    {"seven", "clubs", 7}, {"eight", "clubs", 8}, {"nine", "clubs", 9}, 
    {"ten", "clubs", 10}, {"jack", "clubs", 11}, {"queen", "clubs", 12}, 
    {"king", "clubs", 13}, 
    {"ace", "hearts", 1}, {"two", "hearts", 2}, {"three", "hearts", 3}, 
    {"four", "hearts", 4}, {"five", "hearts", 5}, {"six", "hearts", 6}, 
    {"five", "hearts", 7}, {"eight", "hearts", 8}, {"nine", "hearts", 9}, 
    {"ten", "hearts", 10}, {"jack", "hearts", 11}, {"queen", "hearts", 12}, 
    {"king", "hearts", 13}, 
    {"ace", "diamonds", 1}, {"two", "diamonds", 2}, {"three", "diamonds", 3}, 
    {"four", "diamonds", 4}, {"five", "diamonds", 5}, {"six", "diamonds", 6}, 
    {"seven", "diamonds", 7}, {"eight", "diamonds", 8}, 
    {"nine", "diamonds", 9}, {"ten", "diamonds", 10}, {"jack", "diamonds", 11}, 
     {"queen", "diamonds", 12},{"king", "diamonds", 13}}; 






// Run the function to shuffle the deck 
     shuffle(deck); 

     // Print the deck 
     printDeck(deck); 

    return 0; 

} 
+0

在主函數聲明的末尾有一個分號 – maschall

回答

4

也許這:

int main(int argc, const char * argv[]) /* -------> */ ; /* <------- */ 

後跟{,它在上下文之外打開一個範圍...

+0

問題現在已修復。 – Anthony