[英]How to end a while loop without a break statement?
我做了一個劊子手游戲; 它運行良好,沒有錯誤。 我使用了一個帶有嵌套 if 語句的 while 循環,讓玩家進行十次猜測。 如果他們完全拼寫了這個詞,我希望循環中斷。 我正在使用一個破折號計數器來跟蹤剩余的字母數量; 當它達到零時,那么這個詞就完全拼寫了。
問題是,我的老師不允許我使用 break 語句。 我沒有看到任何其他方法可以打破 while 循環。 想法?
int main()
{
printf("Your Word Is: %s", &dash);
//printf("\nWord: %c", &dash);
loopcount = 10;
count = 1;
while ((count <= loopcount))
{
printf("\n\nPick a letter to guess: ");
scanf(" %c", &guess);
printf("\n\nYour Guess Was %c. ", guess);
count = count + 1;
if (guess == 'c')
{
dash[0] = 'c';
printf("\n\n %s", dash);
} else if (guess == 'o')
{
dash[1] = 'o';
printf("\n\n %s", dash);
} else if (guess == 'd')
{
dash[2] = 'd';
printf("\n\n %s", dash);
} else if (guess == 'i')
{
dash[3] = 'i';
printf("\n\n %s", dash);
} else if (guess == 'n')
{
dash[4] = 'n';
printf("\n\n %s", dash);
} else if (guess == 'g')
{
dash[5] = 'g';
printf("\n\n %s", dash);
} else
{
printf("That Letter Is Not Apart of this Word");
}
printf("\n\nYou are at Guess Number %d, Your word is at %s",
count, dash);
dashcount = 0;
for (i = 0; dash[i]; i++)
{
if (dash[i] == '-')
{
dashcount++;
}
}
}
if (dashcount > 0)
{
printf("\n");
} else
{
printf("\n\n\nI'm Sorry, the word was %s.", word);
}
printf("\n\n");
return 0;
}
嘗試將 if 語句更改為:
while ((count <= loopcount) && (dashcount > 0))
這個 if 語句將使 while 循環僅在雙方都為 True 時運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.