모두의 코드 커뮤니티

If (guess % prime[i] != 0 이게 무슨 뜻인가요?

for (i = 0; i <= index; i++) {
if (guess % prime[i] != 0) {
ok++;
} else {
break;
}

선생님 이거 씹어먹는 C배열 과정에서 공부 중인데 여기서 if (guess % prime[i] != 0) 이부분이 무슨 뜻인지 모르겠습니다 여태까지 배운 것은 if (guess % prime[i] == 0) 이렇게 표현했던 것 같은데 이렇게
바꿔서 출력해보니까 출력이 안되더군요 강의에서 무슨 뜻이라고 따로 설명은 없으신 것 같아서 여쭤보려고 글 작성합니다! 좋은 강의 항상 감사히 생각합니다

좋아요 2

profile

% 연산자에 대해 아시나요? 이 연산은 값을 나눈 후의 나머지 를 반환합니다.
if (guess % prime[i] != 0) {...} 그럼 이 코드는 guess / prime[i] 라는 나누기 식을 수행하고, 이에 대한 나머지가 0 이 아닐 때에 조건이 만족합니다.

몇 가지 예제를 예로 들면

a = 10;
if (a % 2 == 0) { ... } // true

10을 2로 나눈 것에 대한 나머지는 0이니까요, 조건은 만족합니다.

a = 11;
if(a % 2 == 0) { ... } // false

이것도 마찬가지로, 11을 2로 나눌 때 나누어 떨어지지 않으니 조건은 만족하지 못합니다.

좋아요 1

답변해주셔서 정말 감사합니다 혹시 if (guess % prime[i] != 0) 을 if (guess % prime[i] !==0) 즉
= 0 이 아니라 == 0 으로 쓰지 않나요?? ’ = ’ 을 하나만 사용하는 이유도 알 수 있을까요??

좋아요 2

profile

기본적인 문법을 더 공부하실 필요가 있다고 봅니다.
== 는 값이 같은지 비교하는 연산자이고, = 는 값을 대입하는 연산자 입니다.
!= 와 같은 경우는 == 와 반대로, 값이 다른지 비교 하는 연산자 입니다.

if(10 != 0) { ... } // true
if(10 != 10) { ... } // false
if(10 == 10) { ... } // true
if(10 == 0) { ... } // false

씹어먹는 시리즈에도 연산자에 대한 설명이 자세하게 나와있습니다.

좋아요 1