이런if문은 처음 봐서요..
두힘
2023.04.01
질문 제목 : if문 중에서if문은 조건문 아닌가요??
if(digit[i]%2) 이렇게 끝나버리는건...질문 내용 :
코드 전체를 쓰자면
#include stdio.h
int main (void)
{
int digt[10]={1,2,3,4,5,6,7,8,9,10};
int i, sum=0;
for(i=0 ; i10; i++)
if (digit[i]%2)
sum+=digit[i];
printf(sum=%d\n,sum);
return 0;
}
제생각엔 digit[i]를 2로 나눈 나머지값과 머랑 비교해서 그조건에 맞아야 이렇게 되는것들만
배웟는데 저건 첨보네요 ㅜㅜ
도와주세요
-
Isolation
if는 조건이 참일 경우 수행되는 문입니다.
참은 1이고 거짓은 0입니다.
그래서 %2 연산을 통해 나머지가 0 아님 1이 나오므로
if (digit[i]%2==1)과 같은 의미입니다. 하지만 1만이 참이 아니라 -2, -1, 2, 3, 4... 등도 참이기 때문에 (0이 아니면 무조건 참)수다님의 말처럼 if (digit[i]%2 != 0)로 해야 정확한 의미입니다. -
그댸와나
감사합니다^^ 몇시간후 시험인데 큰 도움이 되었어요 ㅋㅋ
-
주인님
if (digit[i]%2 != 0) 과 같은 의미입니다.
수식을 평가한 결과가 0 이면 거짓, 아니면 참이기 때문입니다.