标题:奇怪的现象,寻高手解惑!
取消只看楼主
liuqianxue
Rank: 2
等 级:论坛游民
帖 子:21
专家分:20
注 册:2010-5-7
结帖率:0
已结贴  问题点数:20 回复次数:5 
奇怪的现象,寻高手解惑!

将数据写入磁盘文件,输入#是结束写入。如果把下面红色部分代码写成“while((ch=getchar())!='#')”,运行结果不一样,为什么呀?
#include <stdio.h>
main()
{
    FILE *fp;
    char  ch,filename[50];
    printf("please input file's name:\n");
    gets(filename);
    if((fp=fopen(filename,"w"))==NULL)
    {
       printf("cannot open file!");
       getch();
       exit(0);
    }
         ch=getchar() ;
    while (ch!='#')
    {
        fputc(ch,fp);
        ch=getchar();
    }
    fclose(fp);
}
搜索更多相关主题的帖子: 现象 解惑 
2010-11-30 21:02
liuqianxue
Rank: 2
等 级:论坛游民
帖 子:21
专家分:20
注 册:2010-5-7
得分:0 
回复 2楼 vandychan
首先,谢谢你!
不过为什么(ch=getchar())==NULL;不可以呢?
2010-11-30 21:27
liuqianxue
Rank: 2
等 级:论坛游民
帖 子:21
专家分:20
注 册:2010-5-7
得分:0 
回复 3楼 outsider_scu
你可以说出我原来写的,得到的结果不同的理由吗
2010-11-30 21:29
liuqianxue
Rank: 2
等 级:论坛游民
帖 子:21
专家分:20
注 册:2010-5-7
得分:0 
回复 楼主 liuqianxue
while((ch=getchar())!='#'
为什么这样不行啊,它的运行过程是怎么样的呢,可以告诉我吗,谢谢!
2010-11-30 21:30
liuqianxue
Rank: 2
等 级:论坛游民
帖 子:21
专家分:20
注 册:2010-5-7
得分:0 
回复 7楼 outsider_scu
啊,那哪里有歧义呢?
2010-11-30 21:37
liuqianxue
Rank: 2
等 级:论坛游民
帖 子:21
专家分:20
注 册:2010-5-7
得分:0 
回复 9楼 outsider_scu
?????
2010-11-30 21:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-327446-1-1.html




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

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