0

在“int RandomA,RandomB”这一行上,我不断收到错误消息。错误表示预期标识符或“(”。结构卡和卡名称之间也会弹出相同的错误。我不知道如何解决它。这是我第一次在这个网站上提问。我'm 使用 mac osx 应用程序命令行工具。

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;

}
4

1 回答 1

4

也许是这样:

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

紧随其后的是{,它在上下文之外打开了一个范围......

于 2012-06-28T19:24:33.773 回答