|
저도 쌩초보입니다만 제가 알고있는부분인거같아서 답변드릴께영.^^;
while( ! kbhit() ) ;
-------------------------
1 2 3 4
이런식으로 설명드릴께영.
1: while 문은 () 내의 조건이 참일때만 이하의 문장을 수행하는겁니다.
아시졍?
()내의 조건은 무조건 논리식으로 연산합니다.
이런속성은 for,if 등등해서 좀있졍. 무조건 조건이 참이면 이하의 문장을 수행하라라구영.
while(1)
{
;
}
이건 무한루푸가돌졍.조건이 참이니까. 민약 괄호속이 0이라고 써잇으면 한번도 수행안해영.
2 : ! 이것은 정규식에서 NOT를 의미합니다. 아시졍? 단항연산자기능으로서
논리식에선 값의 부정을의미하졍.
A= 0 일때 !A는 논리식으로 규정되어 1이되는거졍. 반대로 A=30 이라고
임의의숫자를 잡았을때 !A는 0이되버리졍.
논리식은 0이 아니면 무조건 1로 보졍. 부울대수아시졍? True아니면 False이런식입니다.
3 : 잘보면. 괄호속에 !kbhit() 이렇게써잇졍?
이런조건식은 kbhit라는 함수가 숫자형을 리턴해주는것이 될껍니다.
int나 long나..
그러니까.
int kbhit(void)
이런식으로 함수가 설정되어있을껍니다.
1~3 : 해석하면 결과가 0이나 NULL이아니면 계속 while이하의문장을 수행하라라고 하는거졍.
4 : ; 는 걍 말그대로 작업이없습니다. 이것을 루프문따위에 쓰면 걍 혼자서 삽질하는것이되겠졍.
for (i=0; i<10; i++) ;
이렇게 쓰면 for 문장이 끝나면 아마 i가 9가 되어있겠져
걍 실행하는게 없다 라는겁니다.
for (i=0; i<10; i++)
printf("%d",i);
이런문장에서
printf("%d",i) 이런게 빠졌다해서 실행안되는건 아님..
무조건 조건이 참이면. 돕니다.
오빠 달룠!!!!
로터스 님이 쓰신 글 :
: while(!kbhit())
: ;
:
: 이게 무슨 뜻이죠..?? --;;;
: 특히 세미콜론이 뭐하는 건지 모르겠네요..
:
: 알려주시면 감사... --;;;
|