windows环境中键盘上Enter键的运行时所代表的意义
windows 中并不存在回车键,我们所熟知和使用
的所谓回车键“Enter”其实在windows系统中是以"\n\r"
两个字符来运行的;其中"\n"【“line feed”】即行满 / 转行符
ASCII值为10,控制字符LF, “\r”【carriage return】即回车符
ASCII值为13,控制字符CR.
如下:将单个字符的ASCII值增加32后仍以字符输出,当键入
Enter时,windows中实际运行"\n\r",
则输出结果为"\n"的ASCII值10+32=42,所对应的字符为"*",
然后执行"\r"换行操作.
用户从键盘输入的每个字符都会暂时保存到内存的缓冲区,
直到按下回车键输入结束,scanf再从缓冲区读取数据,赋值给变量。
因此,在以"%d"格式语句前有输入Enter需要时,可以在scanf语句前以
getchar();将缓冲区的回车符读入,避免后面的字符型变量作为有效字符
读入。
此处键入了两次回车.