关于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()得到字符则不是。
为什么会这样。