所以我在过去的一个小时内摆弄它后真的很困惑。在C函数调用中使整数没有投射的指针
我想在另一个函数内的另一个函数内调用一个函数。我收到一条错误消息:“传递displayDeck的参数1使得整型指针没有转换,预期的int *但参数的类型为int。”
void printCard(int card)
{
char ranks[RANKS] = {'A','2','3','4','5','6','7','8','9','0','J','Q','K'};
char *suits = "SHDC";
printf("%c%c", ranks[card%RANKS], suits[card/RANKS]);
}
void displayDeck(int deck[])
{
int count = 0;
int cleanDisplay = 0;
while(count < MAXIMUM)
{
if(cleanDisplay == RANKS)
{
printf("\n");
cleanDisplay = 0;
}
printCard(deck[count]);
printf(" ");
cleanDisplay++;
count++;
}
printf("\n\n");
}
void dealCards(int deck[], int hands, int cards)
{
int total = hands * cards;
int counter = 0;
int counter2 = 0;
while(counter < total)
{
if(counter2 == cards)
{
printf("\nPlayer's Hand: \n");
counter2 = 0;
}
displayDeck(deck[counter]);
counter2++;
counter++;
}
}
displayDeck正在接受一个int,我在dealCards函数中调用它也是如此。所以我不确定这里要做什么。我可能需要实现另一个指针?我试图从我创建和洗牌的数组中处理卡片。
我猜测错误是在printCard中的某处,因为这是处理指针的唯一函数。
P.S我对C仍然比较陌生,所以如果这是一种比道歉更简单的错误。