| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 407 人关注过本帖
标题:帮忙检查一下 去掉注释问题
取消只看楼主 加入收藏
witjay
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2011-3-10
结帖率:83.33%
收藏
已结贴  问题点数:6 回复次数:1 
帮忙检查一下 去掉注释问题
题目是去掉源文件中的注释  // ....    /* ....  */

#include <stdio.h>
#include <stdlib.h>
void main()
{
    FILE *fin,*fout;
    char ch,pre;
    char resource[256],target[256];
    printf("请输入源文件名:\n");
    scanf("%s",resource);
        if((fin=fopen(resource,"r"))==NULL)
    {
        printf("打开源文件出错:\n");
        exit(0);
    }

    printf("请输入目标文件名:\n");
    scanf("%s",target);


    if((fout=fopen(target,"w"))==NULL)
    {
        printf("打开目标文件出错:\n");
            exit(0);
    }

    while(!feof(fin))
    {
        ch=fgetc(fin);
        if(ch=='/')
        {   pre=ch;
            ch=fgetc(fin);
            if(ch=='/')
            {   
                while(ch!='/n')
                    ch=fgetc(fin);
                fputc(ch,fout);
            }
            else if(ch=='*')
            {
                pre=fgetc(fin);
                ch=fgetc(fin);
                while(pre!='*'&&ch!='*')
                    ch=fgetc(fin),pre=ch;
            }
            else
               fputc(pre,fout);
               fputc(ch,fout);
        }
        else
            fputc(ch,fout);
    }
    fclose(fin);
    fclose(fout);
}编译成功后运行,输入目标文件按回车后 一直等待 ,生成文件为空 。
搜索更多相关主题的帖子: 源文件 
2011-03-26 23:10
witjay
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2011-3-10
收藏
得分:0 
回复 2楼 ppfly
else if(ch=='*')
            {
                pre=fgetc(fin);
                ch=fgetc(fin);
                while(pre!='*' && ch!='/')
                    ch=fgetc(fin),pre=ch;    // ch取文件下一个字符,然后将ch值赋予pre   那while循环判断的不是两个相同的字符吗?
                ch=fgetc(fin),pre=ch;
            }
这段代码有问题,
2011-03-27 10:29
快速回复:帮忙检查一下 去掉注释问题
数据加载中...
 
   



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

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