バッファリング無しをやりたいんだけど、
(y/nが入力されたら次の処理に進みたい)

setvbuf(stdin, NULL, _IONBF, 0);
char c = getchar();

↑で結局バッファリングされるのは、
>http://www.linux.or.jp/JM/html/LDP_man-pages/man3/stdin.3.html
>ただし stdin が端末に接続されているときは、端末のドライバでバッファリング
>されている可能性があることにも注意すること。これは stdio のバッファリング
>とは全く関係なく存在しうる。 (実際、通常だと端末入力はカーネルによって
>行単位でバッファリングされている。)

とかいう事情なんでしょうか。