欢迎来到天天文库
浏览记录
ID:51687072
大小:36.67 KB
页数:3页
时间:2020-03-15
《C语言中回车键的疑问.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、关于C语言中回车键的疑问这两天重学C语言,看的是第二版的theCprogramminglanguage的翻译版,今天看到的第一章,本说应该没什么问题,谁知在写程序的过程中还是遇到了一些问题,其中最大的问题就是回车键,在此跟大家分享一下。在写处理字符的程序的时候,发现有的程序在回车键按下之后就会有输出,而有的要在输入EOF(ctrl+d)之后才反应。后来经过网上查阅和思考,发现回车键不仅仅代表了字符’’(windows系统是’’和’r’),也是程序触发器。下面举两个例子加以说明:例一:#includeintmain(){intc;while((c=getchar())
2、!=EOF){putchar(c);}return0;}例二:#includeintmain(){intc,num;num=0;while((c=getchar())!=EOF){num++;}Printf(“%d”,num);Return0;}以上两个程序,第一个是输出输入的字符,若输入abcd再回车,则会马上紧跟输出abcd,但是程序并没有退出,再输入还是会像上面一样继续运行,直至EOF为止。程序二是统计输入字符的个数,若输入abcd再回车,不会有变化,直至EOF,才会输出结果,并结束程序。分析:程序一中输入abcd再回车以后,程序被触发而执行while中的命令,输出
3、字符,包括回车(linux中为’’,windows中为’’+’r’)。但是循环并没有退出,因为没有遇到EOF,所以又可以继续输入输出,当输入EOF时,程序结束。程序二中输入abcd再回车,其实也被触发了,此时已经进入循环,num开始加值,但是并没有输出函数,直至输入EOF推出循环,最后字符数才输出,我们看到的就是在输入EOF之前没有变化,哪怕是输入回车。其实两个程序都一样。总之,回车除了代表’’之外,还有一个触发作用,只是在不同的程序中药具体情况具体分析。在此分享,谢谢。
此文档下载收益归作者所有