안녕하세요 공부를 하다가 궁금한 점이 있어서 질문합니다
알고리즘에서 INT(i/2) = i/2와 C언어의 if( (int) (i/2) == i/2)가 왜 홀짝 판별법인지 모르겠습니다.
알고리즘의 INT(i/2)와 i/2는 i값이 같으니깐 같은 값이 나올거 같고 씨언어도 동일하게 생각이 되는데 이게 어떻게 홀짝을 구문하는 건지 혹시 자세히 개념 설명해주실수 있나요?
감사합니다.
안녕하세요 길벗수험서 운영팀입니다.
i의 값이 짝수일 경우와 홀수일 경우를 예로 들어볼까요.
i가 2인 경우, i/2의 결과는 1입니다.
1을 int 함수를 통해 정수화 시켜도 1이 나오므로
int(i/2)=i/2 는 1=1이 되어 참(true)이 됩니다.
i가 3인 경우, i/3의 결과는 1.5입니다.
1.5를 int 함수를 통해 정수화 시키게 되면 1이 나오므로
int(i/2)=i/2 는 1=1.5가 되어 거짓(false)가 됩니다.
int함수의 역할을 확실히 기억하시고 디버깅을 통해 int함수를 거친 값들이 어떻게 변화하는지 확인하세요.
행복한 하루되세요 :)
-
관리자2019-08-08 14:28:01
안녕하세요 길벗수험서 운영팀입니다.
i의 값이 짝수일 경우와 홀수일 경우를 예로 들어볼까요.
i가 2인 경우, i/2의 결과는 1입니다.
1을 int 함수를 통해 정수화 시켜도 1이 나오므로
int(i/2)=i/2 는 1=1이 되어 참(true)이 됩니다.
i가 3인 경우, i/3의 결과는 1.5입니다.
1.5를 int 함수를 통해 정수화 시키게 되면 1이 나오므로
int(i/2)=i/2 는 1=1.5가 되어 거짓(false)가 됩니다.
int함수의 역할을 확실히 기억하시고 디버깅을 통해 int함수를 거친 값들이 어떻게 변화하는지 확인하세요.
행복한 하루되세요 :)