【问题标题】:confused as to whether to use a do-while or while loop for dice game [duplicate]对骰子游戏是否使用do-while或while循环感到困惑[重复]
【发布时间】:2017-12-20 20:39:01
【问题描述】:

想知道 for 循环是否更好,或者我是否应该坚持使用 while 循环。如果是,为什么或为什么不。

srand((unsigned) time(NULL));
bool result;
bool end = false;
int win, lose;
char answer;

win = lose = 0;
while (!end) {
    result = play_game();

    if (result) {
        printf("You win!\n\n");
        ++win;
    } else {
        printf("You Lose!\n\n");
        ++lose;
    }

    printf("Do you want to play again (y/n) ");
    if ((toupper(answer = getchar())) == 'Y') {
        end = false;
    } else if ((toupper(answer = getchar())) == 'N'){
        end = true;
    }
}

【问题讨论】:

  • 没有。十二个还是十几个?有时。是的。
  • 这个问题是关于 do-while 与 while 还是 for-loop 与 while 循环?标题与帖子内容不符。
  • 语言标签会很好。那里有许多具有类 C 语法的语言。从技术上讲,可能是其中之一。

标签: loops while-loop do-while


【解决方案1】:

只要不限制播放次数,我会使用 do-while。

char answer;
do
{
    answer = toupper(getchar());
    // ...
} while (answer == 'Y');

这里的区别在于 do-block 将运行 至少一次。 如果再次满足条件(answer == 'Y'),则 do-block 将再次运行,否则将爆发。

【讨论】:

    猜你喜欢
    • 2013-08-02
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 2014-02-28
    相关资源
    最近更新 更多