0

これが私のコードです:

#include <iostream>
using namespace std;
#include <ctime>
#include <cstdlib>

int main()
{
srand(time(0));
char computerChoice;
switch ( rand()%3)
    {
        case 0:
            computerChoice = 'R';
        case 1:
            computerChoice = 'P';
        case 2:
            computerChoice = 'S';
    }
cout << computerChoice;
}

プログラムが実行されるたびに computerChoice の「S」を取得し続け、プログラムをループしても「S」を取得し続けます。

4

2 に答える 2

5

StackOverflow へようこそ!

break;caseステートメントの後にする必要があります。詳細については、このチュートリアルを参照してください。

于 2013-10-26T01:51:55.817 に答える
3

break ステートメントを忘れたため、同じ答えが得られます。

switch ( rand()%3)
{
    case 0:
        computerChoice = 'R';
        break;
    case 1:
        computerChoice = 'P';
        break;
    case 2:
        computerChoice = 'S';
        break;
}

}

于 2013-10-26T01:56:31.447 に答える