while((c=getch())!='\n'){
でリターン入力しても終われないんだけどなんで?
printf("%x",c);で調べてみたらdって表示されたから
while((c=getch())!=0xd){
にしたらちゃんと終われた

なんで\nじゃダメなのかね?

while((c=getch())!=0xd){
のままじゃUnixでは動かなそう