EOF小结

最近在复习C基础知识,发现自己挺怕字符的,出的花样太多了,而我正是这方面欠缺,写其他程序的时候也很少专一用到,看《C语言程序设计》发现还是大师的书好啊,很后悔自己怎么没有早早的细细品味那本书。

看到EOF有点搞不明白,里面写了个小程序,怎么都到跳不出while((c=getchar())!=EOF)的循环,getchar返回是int型,EOF是-1,可是输入了所有我能想到的字符,就是挑不出去,最后只好求助于网络。看到一篇博客不错,链接为:http://hi.baidu.com/wanwanwan2008/blog/item/1e6a4915485c6914972b43f0.html 

为了自己记忆,我自己也总结一下:

1、EOF:在linux下是ctrl+D,在windows下是ctrl+Z。不过也是只在如下几种情况下(其实是在getchar提示新的一次输入时)作为文件结束符:

(1)执行getchar,输入第一个就是EOF,跳出;

(2)前面输入为换行符时,跳出;

(3)其他情况,连续两次输入EOF,第一次相当于换行,结束当前的输入,第二次才是结束符;

2、getchar是以行为单位进行存取,如下程序:

while((c=getchar())!=EOF) {putchar(c)};

并不是输入一个字符,就输出一个字符,而是按行处理,输入字符,知道遇到换行,或EOF才会输出。

另外应为EOF为-1,一般getchar返回定义为int型。

3、输入字符数组集中情况

(1)用getchar();

(2)scanf接收输入存在字符数组或字符串里,但遇到空格就停止。

(3)getline(cin,str,‘结束符’);

(4)gets等,知道怎么用,能熟用几个

转载于:https://www.cnblogs.com/xyl-share-happy/archive/2012/08/28/2660873.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值