기사에서 나온 문제이긴 하지만, 산업기사 시험에서도 출제될 가능성이 있을 듯 싶어서 이렇게 문의 남겨드립니다
해설을 보았는데 내용이 전혀 감이 잡히지 않아서요
첫 번째는 rand()와 rand()%6이 나타내는 것이 무엇인지 궁금하고요, 그리고 결과가 어떤 식으로 축적이 되서
최종 값이 hist[1]=14, hist[2]=17, hist[3]=19, hist[4]=14, hist[5]=18, hist[6]=18이 어떻게 나오는지 설명 부탁드립니다.
안녕하세요 길벗수험서 운영팀입니다.
디버깅값은 아무 의미가 없습니다.
단순히 그러한 식으로 나타날 수 있다고 보여드린 것이죠.
C언어에서 rand()함수는 0~32767 사이의 무작위 정수를 반환하기 때문에, 이 것을 6으로 나눈 나머지를 구하게 되면 0~5 사이의 수가 무작위 수가 나오게 제한할 수 있게 됩니다.
(6으로 나눈 나머지는 0~5까지의 수 외의 다른 수가 나올 수 없으므로)
때문에 이렇게 나온 각 수들의 개수를 배열에 저장한 후, 마지막에 6면 주사위라고 하였으니 0을 1이, 1을 2가, ... 5를 6이 나왔다고 가정하고 그와 같이 출력한 것입니다.
행복한 하루되세요 :)
-
관리자2021-04-05 16:48:27
안녕하세요 길벗수험서 운영팀입니다.
디버깅값은 아무 의미가 없습니다.
단순히 그러한 식으로 나타날 수 있다고 보여드린 것이죠.
C언어에서 rand()함수는 0~32767 사이의 무작위 정수를 반환하기 때문에, 이 것을 6으로 나눈 나머지를 구하게 되면 0~5 사이의 수가 무작위 수가 나오게 제한할 수 있게 됩니다.
(6으로 나눈 나머지는 0~5까지의 수 외의 다른 수가 나올 수 없으므로)
때문에 이렇게 나온 각 수들의 개수를 배열에 저장한 후, 마지막에 6면 주사위라고 하였으니 0을 1이, 1을 2가, ... 5를 6이 나왔다고 가정하고 그와 같이 출력한 것입니다.
행복한 하루되세요 :)