직접 코딩하신건가요? 그런거라면 꽤 문법을 잘 이해하시는 것 같은데
while()문의 경우 ()안에 값이 참(true)이면 while문 안에 코드를 실행하고 거짓(false)이면
무시하고 나오는 건데요.
논리 조건 연산자를 사용하면 값이 bool형으로 true아니면 false가 나오게 됩니다.
a>=0 의 경우 a가 0 이상일 때만 while문을 실행한다는 의미이구요.
또 함수의 리턴형으로 참과거짓을 판별할 수 있습니다.
scanf는 표준 입력 "함수" 입니다. 함수의 리턴형은 레퍼런스에서 찾아 보실 수 있는데
저도 자세한 것은 잘 모릅니다.
scanf() 함수의 경우는 아마 입력받은 값이 없다면(NULL) 0을(false) 리턴하고
입력받은 값이 있다면 1을(true) 리턴하는 것 같습니다.
&& 의 경우 &&를 기준으로 좌,우 항이 모두 참일경우 1을(true) 리턴하고 하나라도
거짓일 경우 0을(false) 리턴합니다.
||의 경우는 좌,우 항 중 하나라도 참이면 1을(true) 리턴하고 둘다 거짓일 경우에만
0을(false) 리턴합니다.
즉 &&는 AND 연산이고 ||는 OR연산입니다.
2011/05/29
T3ddyB34r
ㄴ 따라서
입력 받은 값이 있고, 그 a값이 0이상일 경우에만 while문안의 소스코드를 실행 시킵니다.
2011/05/29
메버리키
& 하면 '아 포인터구나' 쪽에 생각이 쏠려가지고 AND 연산인걸 까먹었어요... ㄷㄷㄷㄷㄷㄷ
바본가?ㅋㅋㅋ &a)&&a>1 이런식이라서 혼동했나봐요 아무튼 되게 감사합니다 테디베어님.!