입문용 :: 은한의 C-8 질문
파도
질문 내용 :
#include stdio.h
int main(void)
{
int a,b,result;
do {
printf(숫자2개를 입력하세요(0을 입력하면 나갑니다): );
scanf(%d %d, &a, &b);
result=a+b;
printf(덧셈결과입니다. %d\n,result);
}while(a!=0 && b!=0);
return 0;
}
while(a!=0 && b!=0);에서 a!=0 b!=0인 이유가 머죠? a는 0이 아니다 라는뜻인가요? 그렇게 해석하면0을 해서 꺼지는 이유를 모르겠어요.while(a=0 && b=0);로 하면 실행자체가 안되는데. !=에 다른뜻이 있는건가요?
-
볼매
&&연산자는 좌우모두 참일경우가 참으로 적용되구요
!=연산자는 아니다를 뜻하죠, 즉 아닐경우 참 맞을경우 거짓 -
매화
while (a != 0 && b != 0)은 a도 0이 아니고 b도 0이 아닌 동안 반복을 돌라는 뜻입니다.
==는 같다 !=는 같지 않다죠.
그러니까 0을 입력하면 꺼지는게 맞구요...
while (a == 0 && b == 0)은 a도 0이고 b도 0인 동안 반복을 돌라는 뜻이니까
둘 중에 하나라도 0이 아닌 수가 입력되면 꺼지죠. -
스위트초코
==로 실행했을때와 !=로 실행했을때는 결과가 다르네요.
==로 실행했을 경우 0을 입력하지않았는데 꺼지구요.
!=는 0이 입력되었을경우 꺼지네요. -
세나
따라서 a가 0이 아닌 모든수는 참 b가 0이 아닌 모든수는 참 && - 2개다 참일때 참이라는 결과를 내주는 논리곱
이라고 보시면되겠습니다. 와일은 참일때 실행하고 거짓일때 빠져나가니까영..; -
멈짓체
!= 비교연산자 입니다. = 대입연산자입니다.
&&는 논리비교 중 빠른연산자입니다.(a!=0이 펄스면 b!=0은실행시켜보지도않는)
=를 비교연산자로 표현하실려면 ==이 맞습니다