混淆是否使用do-while或while循环进行骰子游戏[重复]

问题描述 投票:-3回答:1

这个问题在这里已有答案:

想知道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;
    }
}
loops while-loop do-while
1个回答
0
投票

只要你不限于一定数量的戏剧,我就会使用do-while。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.