换行对应的ASCII码值是10,回车符对应的ASCII码值是13,需要注意的是用户按下回车键时,对于不同的字符输入函数,读取的字符不同,下面上代码
测试一:
运行结果:
测试二:
运行结果:
测试三:
运行结果:
测试四:
运行结果:
从上面的结果可以看出,虽然输入都是“回车键”(注意是回车键不是回车符)但得到结果却有差异,需要注意的是:在Windows系统中回车键被当做\r\n 的组合来使用,当我们从键盘输入回车键时,Windows系统会把回车键当做\r\n 来处理(只不过上面的四种字符输入函数读取的结果不同)
getchar——换行符'\n'(ASCII值为10)
getch——回车符'\r' (ASCII值为13)
getche——回车符'\r' (ASCII值为13)
scanf——换行符'\n' (ASCII值为10)
回车:使光标移到行首
换行:使光标移到下一行
下面再补充下文件操作函数,从文本文件(txt文件)用fscanf_s读取(前提条件:先创建一个txt文件按一下回车键,然后保存)
运行效果:
从上面可以看出fscanf_s和scanf对回车键的读取是相同的,都是得到的换行符'\n'(ASCII值为10)
使用fgetc读取
运行结果:
从上面的结果可以看出fgetc和fscanf_s读取的字符相同,都是读取到的换行符'\n'(ASCII值为10)