用输入控制程序的执行与否,但不成功,大家给看看解决办法

用输入控制程序的执行与否,但不成功,大家给看看
#include <stdio.h>
void   main()
{               char   i= 'y ';
while(i)
{printf( "*\n ");
scanf( "%c ",&i);
if(i== 'n '||i== 'N ')
            i=0;
else
            i=1;
}
}
前面有ylouise(louise)用户说是“没有清理内存,前加上fflush(stdin)就可解决”。
但我不太明白,在输入第一个i=y后,程序就无限循环了。请大家给于指点

------解决方案--------------------
在你输入i=y回车后,不会无限循环吧,顶多输出四行*,接着继续等待你输入
你只要输入n或N回车,程序就会结束
------解决方案--------------------
我在vc6.0中试了一下,没有出现死循环现象.输入n之后可以正确退出程序.