| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 757 人关注过本帖
标题:一点小问题
只看楼主 加入收藏
心若水
Rank: 1
来 自:陕西省宝鸡市
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-2-20
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:11 
一点小问题
各位大虾,下面的程序是用来验证表达式getchar()!=EOF的值是0还是1,但是没有达到预期的效果,想请教各位大虾一下问题出在哪。
#include <stdio.h>
#include <conio.h>
main()
{
    int c;

    while(c = getchar()!= EOF)
        printf("%d\n",c);
    printf("%d - at EOF\n",c);

}
搜索更多相关主题的帖子: 表达式 
2011-02-20 09:24
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
  while((c = getchar())!= EOF)运算符的优先等级!=的等级高于=的等级

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-02-20 09:50
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
int c;
应该是
char c;

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-02-20 10:34
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
回复 3楼 ansic
驴  getchar()的返回值是啥,类型的

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-02-20 10:59
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用A13433758072在2011-2-20 10:59:11的发言:

驴  getchar()的返回值是啥,类型的

getchar()将读取的字符作为返回值直接传递给调用者。
PS:大家都来学习的, 不要动粗口骂人。 谢谢。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-02-20 11:05
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
回复 5楼 ansic
你出来害人是不对地,EOF是啥?文件结尾!EOF是在stdio.h标准库里声明的宏,当getchar()读取到文件结尾时就返回一个负数,不同操作系统返回不同值,但共同点就是负数,Linux在stdio.h里宏就是-1,  while((c = getchar())!= EOF)你把,读取的字符赋值给字符变量,请问这里的字符是unsiged 还是siged字符,就算是unsiged也不一定正确的(……省略不说)
收到的鲜花
  • BlueGuy2011-02-20 11:44 送鲜花  33朵  

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-02-20 11:23
心若水
Rank: 1
来 自:陕西省宝鸡市
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-2-20
收藏
得分:0 
回复 2楼 A13433758072
我知道,可我做的是验证表达式getchar()!=EOF的值是0还是1啊
2011-02-20 17:04
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
getchar()!=EOF  
这个你表达式你能知道是0 还是1 ?
要看的是getchar的返回值  
反悔什么  5楼已经说了

                                         
===========深入<----------------->浅出============
2011-02-20 20:39
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:5 
#include <stdio.h>
int main(void)
{
      printf("The expression getchar() != EOF evaluates to %d\n", getchar() != EOF);
      return 0;
}
这样子吧

免费赠送河蟹一只
2011-02-20 21:37
cacker
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2011-02-20 21:41
快速回复:一点小问题
数据加载中...
 
   



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

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