当前位置: 代码迷 >> C语言 >> 关于getchar()与getch()有点复杂
  详细解决方案

关于getchar()与getch()有点复杂

热度:412   发布时间:2006-10-25 19:07:06.0
关于getchar()与getch()有点复杂
请大家看下面二个简单的程序:
#include<stdio.h>
void main()
{char ch;
while((ch=getchar())!='\n')
printf("*");
printf("%d",ch);
}
//如果这时\n换成\r则程序就无终止。
#include<stdio.h>
#include<conio.h>
void main()
{char ch;
while((ch=getch())!='\r')
printf("*");
printf("%d",ch);
}

如果这时\r换成\n则程序就无终止。
两个程序输入字符结束都以键入enter结束。

问题1:
怎样使用getchar()得到换行--'\r'字符。
问题2:
怎样使用getch()得到回车--'\n'字符。
问题3:
还有一点getch()得到字符在输入一个字符之后,
即打印出“*”,好像字符不经过缓冲区,直接
到内存的数据区中。而getchar()得到字符则不是。
为什么会这样。
搜索更多相关的解决方案: getchar  

----------------解决方案--------------------------------------------------------

'\n'为回车
'\r'为回车,将当前位置移到本行开头
使用情况不一样

getchar()得到一字符
getch()使输出时在此地停顿,输入任意字符继续


----------------解决方案--------------------------------------------------------
不对。\n为换行,\r为回车。



----------------解决方案--------------------------------------------------------
  相关解决方案