現在、勉強をかねて スロットゲームを作っています。
で、コンソールアプリで作っているんですが、
何らかの文字があったらwhileを抜けたいのです。
getchar()にすると文字が入ってくるまでとまってしまうからだめなんです。

#define NUM 3
int i=0;
char ll[] = "ABCD";
while(1)
{
    hoge();     //位置指定の関数
    printf("%s", ll[i]);
    i++;
    if(i > NUM)
      i=0;
}

にどんな関数を入れたら上の処理を続けながら、キー入力を待てますか?

ついでに今はマクロで配列llの最後にきたら最初から表示させているんですけど、
マクロだと配列の中身が変わるごとに数字を書き直さなければならず、面倒なので
配列の最後かどうかを調べる方法を教えてください。
配列の最後は\0なので
if( ll[i] == "\0")
でOK?

コンパイラはbccです。