getchar()在接入数据时,遇到回车换行符,应该分两种情况考虑:
在window情况下:键盘读入和文件读入时,回车换行符(也就是回车键),会把’\r’吃掉,只留下’\n’,所以此时判断回车终止输入的条件应该是
if(ch != '\n')
。在linux情况下: 以window格式保存的文本格式,即换行是
\r\n
和键盘读入的回车键,会忠实地读取\r
然后才是\n
,所以此时判断回车终止的条件应该是if(ch != '\r')
为了使写出的程序代码鲁棒性更好,可以跨平台运用,应该将判断语句写为:
if(ch != '\n' && ch != '\r')