【发布时间】:2015-02-03 21:07:12
【问题描述】:
是的,我知道这听起来很傻,但我不知道我做错了什么!
该函数是扑克游戏的一部分,其中有 10 个函数,每个函数检查特定的扑克牌。如果激活,该功能会打印“玩家 1 有满屋!”这一行。或者随便什么手。但是,我还需要增加 p1 的值,其中 p1 是一个全局变量,保存 p1 的总分。
打印线效果很好,但是当我想为 p1 分配例如 10 的值时,它根本不分配。
在下面的示例中,printfs 在应有的情况下完美地工作,但 px 没有分配。我什至在每个函数之后立即打印了 px 的值,它仍然打印 0。
void checkForPoker(int j, int px) //j is the player's number, px is the player's scoreholder
{
if ((c1==c2 && c2==c3 && c3==c4) || (c1==c2 && c2==c3 && c3==c5) || (c1==c2 && c2==c4 && c4==c5) || (c1==c3 && c3==c4 && c4==c5))
{
printf("\n\nEl Jugador %d tiene un poker de %ss!", j, traducirCarta(c1));
px = 8;
}
if (c5==c2 && c2==c3 && c3==c4)
{
printf("\n\nEl Jugador %d tiene un poker de %ss!", j, traducirCarta(c2));
px = 8;
}
}
【问题讨论】:
标签: c variables pass-by-value