下面的函数应该找出当我正在这个纸牌游戏中有两个重复的卡。不知道为什么这个功能永远不会返回正确的结果
int duplicate (struct card hand[])
{
int i = 0, j = 0, duplicate = 0;
for (i = 0; i < 5; i++)
{
for (j = i + 1; j < 5; j++)
{
if (hand[i].suit == hand[j].suit && hand[i].face == hand[j].face)
{
duplicate++;
}
}
}
return duplicate;
}
我想不通为什么,但是当手内的卡值是相同的它从来没有增加的重复卡的数量。
我相信它一定是明显的东西,但我没看到它。
谢谢!
我建议使用一个调试器来通过它,并会显示你明显。 – 2010-12-10 04:40:52