关于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为回车。
----------------解决方案--------------------------------------------------------