| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1183 人关注过本帖
标题:这到底是怎么一回事,请高手帮忙?
只看楼主 加入收藏
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:15 
回复 5楼 xinhang
对于自己不懂的东西,可以猜测,但希望能说明白这是你推测的。否则容易误导初学者。


对于printf的函数,会有argument promotion,所有小于int的类型都会被转变成int,所以看起来char和int一样。

char ch;
这种形式本来就是错的,因为getc的原型是这样的:
int getc(FILE *);

必须是个int类型,才能接收到EOF。这样做:

int ch;
ch = getc(fp) ...

专心编程………
飞燕算法初级群:3996098
我的Blog
2010-05-03 18:17
xxwpk007
Rank: 4
等 级:业余侠客
帖 子:166
专家分:289
注 册:2007-7-29
收藏
得分:0 
2L已经说了
for(;(ch = getc(fp)!=EOF);)// for(;(ch = getc(fp))!=EOF;)
2010-05-03 18:24
xinhang
Rank: 2
等 级:论坛游民
帖 子:40
专家分:57
注 册:2006-7-25
收藏
得分:0 
以下是引用StarWing83在2010-5-3 18:17:59的发言:

对于自己不懂的东西,可以猜测,但希望能说明白这是你推测的。否则容易误导初学者。


对于printf的函数,会有argument promotion,所有小于int的类型都会被转变成int,所以看起来char和int一样。

char ch;
这种形式本来就是错的,因为getc的原型是这样的:
int getc(FILE *);

必须是个int类型,才能接收到EOF。这样做:

int ch;
ch = getc(fp) ...

thanks very much.

\" ﹏╭⌒╮¤ ﹋ ^^
2010-05-04 12:36
快速回复:这到底是怎么一回事,请高手帮忙?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015800 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved