我在编程方面相对较新,而且我无法弄清楚如何循环数组直到计数器找到零,并且当它找到零一次时,执行一个动作并退出循环。这是我到目前为止的循环:
for (int i = 0; i<13; i++)
{
if(pHand[i] == 0)
{
pHand[i] = deal(numArray);
printf("%d\n", i);
printHand(pHand, "Your");
}
}
目前,这循环遍历数组,直到找到零,调用deal(),打印pH值的值,然后循环返回相同的序列,直到i = 0。请帮忙。我完全不知道如何解决这个问题。
答案 0 :(得分:4)
break语句可用于退出封闭循环(例如,while,do-while或for)或切换。
for (int i = 0; i<13; i++)
{
if(pHand[i] == 0)
{
pHand[i] = deal(numArray);
printf("%d\n", i);
printHand(pHand, "Your");
break;
}
}
// code will continue executing here if the for loop condition becomes
// false (i is 13) or if the break statement is reached.
答案 1 :(得分:0)
在你的代码中,如果遇到ZERO值单元格,你只需调用“deal”函数和printf,但是你不退出循环,你将继续下一次迭代。 为了退出循环,在“if”范围中添加“break”语句,一旦满足条件,您将退出循环。
答案 2 :(得分:-1)
有些人认为break
有害。我已经使用了很多,但是有些人对它有疑问。如果您想避免使用break,可以执行以下操作:
int i = 0;
char finished = 0;
while (i < 13 && !finished)
{
if(pHand[i] == 0)
{
pHand[i] = deal(numArray);
printf("%d\n", i);
printHand(pHand, "Your");
finished = 1;
}
i++;
}
你也可以重做它来使用do-while。有人会说,这种解决方案在语义上更好一点。