clock 함수를 Sleep이랑 같이사용하는데...
청식
2023.04.01
질문 제목 : 질문 내용 :
일단 timecheck랑 sub랑 var은 선언을 한상태이고요,
-상략-
var = clock();
for(;;)
{
if (!kbhit())
{
printf(\n %d ppp %d ppp %d,var,timecheck,sub);
timecheck = clock();
var +=10;
for(sub = clock() ; (sub - timecheck) 10 ; sub++);
{ sleep(1);}
}
else {getchar();break;}
}
}정말 이상한게, 프로그램을 돌려보면 출력되는 sub값이 분명 timecheck보다 10큰데(for 문이 10번 돈다는 뜻이죠?), sleep(1)을 열번 돌림으로써 1/100초가 지연되어야 하는데 그렇지 않고 var 값이 timecheck값보다 훨씬 빨리 커집니다.더 이상한건 sleep(1)을 sleep(10)으로 바꾸면 원하는대로(timecheck랑 var이 같음) 프로그램이 잘 돌아간다는 겁니다...dev-c++입니다.
-
상1큼한렩
보통 클락이나 슬립함수는 15,16msec단위로 이루어 지는 것으로 알고있는데. 확실한 내용은 아닙니다.