用c语言如何能实现密码输入

用c语言怎么能实现密码输入?
用c语言怎么能实现密码输入? 
就是输入一个字符串,与内定的密码进行比较,但问题是,我怎么才能做到输入时显示的都是***************而实际输入的是我的密码如(123456798),最好用代码告诉我。谢谢
我用getch(); 按回车也无法结束,这是我的程序 请高手指点。
#include <string.h>
#include <stdio.h>
main()
{char c,a[20];
 int i=0;
 printf("Input the number:");
 while((c=getch())!='\n')
 {
   
  a[i]=c;
  putchar('*');
  i++;}
 a[i]='\0';
 
}


------解决方案--------------------
把'\n'改成'\r'
------解决方案--------------------
楼主你搞错了吧,输如\n可以结束的,我把你的程序弄了一遍,运行可以的,没错误
但是和预想的不一样啊,我想要的是输入一个字符就输出一个字符,而不是输入了123456后按回车再输出******
楼主再考虑一下!
------解决方案--------------------
探讨

把'\n'改成'\r'

------解决方案--------------------
探讨
楼主你搞错了吧,输如\n可以结束的,我把你的程序弄了一遍,运行可以的,没错误
但是和预想的不一样啊,我想要的是输入一个字符就输出一个字符,而不是输入了123456后按回车再输出******
楼主再考虑一下!

------解决方案--------------------
把'\n'改成'\r'