#include <iostream>
#include <cstdlib>
using namespace std;
int dealCard(void);
int main()
{
char cards[] = {'A','2','3','4','5','6','7',
'8','9','10','J','Q','K'};
srand(time(NULL));
cout << cards[dealCard()] << endl;
cout << cards[dealCard()] << endl;
}
int dealCard(void)
{
return rand() % 13;
}
여기서 함수를 보시면 0 ~ 13 까지 숫자가 나오잖아요?
그래서 그 숫자를 cards[] 안에 집어넣기 때문에 0 이 나오면
cards[0] = A 가 나옵니다. 그런데 가끔가다 그냥 0 이 출력 될떄가 있어요.
혹시나 해서 (rand() % 13) + 1 도 해봤지만 그래도 0이 가끔 출력되더라구요.
이유가 뭔가요? |