| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 331 人关注过本帖
标题:EOF问题。求指教。
只看楼主 加入收藏
caohui
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-12-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
EOF问题。求指教。
//对于C语言中的!=EOF我不是非常了解。
//例如下面这个程序:
#include <stdio.h>

int main()
{
    int i;
    int j;
    int k;
    int a[10];
    j=-1;
    while(a[j]!=EOF&&j<9)/*这里我原本是这么设置的a[j]!=EOF&&j<10。
        这样的话当我输入一两个数字之后按Ctrl+z程序为什么仍要求我继续输入直到九个数字为止。
        (加上Ctrl+z刚好十个)而且输出的也不是前2个而是十个.
        当输入-1时就结束了。我的问题是为什么输入ctrl+z时不结束??当输入ctrl+z时是给a[j]赋一个乱码的值么?*/
    {
j++;
scanf("%d",&a[j]);
            }
    for(j=0;j<10&&a[j-1]!=EOF;j++)
    printf("%d\n",a[j]);
}
求指点谢谢,新人木有分。。。。。。
搜索更多相关主题的帖子: include C语言 而且 
2011-12-18 13:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:20 
如果你不知道爲什麽按^Z無法令a[j]==EOF為真,那麽就檢查一下按^Z時a[j]的值和EOF的值,看到底是怎麽囘事。這是做程序調試的不二法門,不學會這一手、沒這種意識、習慣,一輩子靠人啊?

[ 本帖最后由 TonyDeng 于 2011-12-18 14:19 编辑 ]

授人以渔,不授人以鱼。
2011-12-18 14:16
快速回复:EOF问题。求指教。
数据加载中...
 
   



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

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