2014-06-13 2 views
-3
int i = 1, j = 2, k; 
k = i % ++j 

k이 1과 같지 않은지 이해할 수 없습니다. 0으로 반올림 한 1/3이 아닐 것이기 때문에 나는 0이라고 생각했습니다. 고맙습니다!C 단순 모듈러스;

+2

이것은 모듈러스 연산자가하는 것과 다릅니다. 나머지를 반환합니다. 여기에 대해 읽어보십시오 : http://en.wikipedia.org/wiki/Modulo_operation – wolfPack88

답변

4

실제로는 나머지입니다. 세 번 0 제로 나누기 때문에, 당신은 하나의 나머지가 있습니다. 1/3 (정수 연산 사용)은 0을 기대하는 곳입니다.

https://www.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/what-is-modular-arithmetic은 좋은 링크 여야합니다.

+1

@AssumedVoice 사이트의 질의 응답 영역은 채팅 할 적절한 장소가 아닙니다. 당신은 아마 http://chat.stackoverflow.com을 시도하고 당신이 그것을 좋아하는지 볼 수 있습니다. –

+0

@AssumedVoice 위의 Joe의 답변이 도움이된다면 upvoting을 고려하여이를 수락해야합니다 (위쪽 화살표 및 체크 표시). – DevNull