一定時間でパラメータをとってきて表示するような関数で、「あるキーが押されたら終了」のような処理はどうすればよいでしょうか?

while(!getc(stdin))
{
処理
printf("push any key to exit\n");
sleep(1);
}
のようにすると(当然)getcから戻ってくるまで次の処理に進みませんし・・・。