C语言:删除代码注释

本文探讨了在C语言中删除代码注释的挑战,特别是在处理包含tab和行尾注释的情况下。作者分享了一种改进的解决方案,旨在更有效地移除注释,同时保持代码的原始格式。
摘要由CSDN通过智能技术生成

引用博客的链接: 原文链接
本文的出题点来源于华中科技大学2019年计算机学院复试上机的某一题,天真的我一开始以为注释的样子是:// 或 /* */ 顶格注释

但是思索一番,发现事情并没有那么简单,于是就有了这么一番”加工“。

因原文章已讲解了思路,故本文旨在改进,不再赘述。水平有限,望包涵。

  • 注释方式举例
    这里截取我之前的文章中链表一节的主函数作为测试,涵盖常见的可能注释的方式
//链表的基本模板,符合牛客网oj输入方式
int main(){
   
    //5 3 2 1 4 5
    //12 23 34 2 21 45 7 8 0 90 99 15 100
    //two group of data for test
    int n;//链表长度
    char s[100]="/* '*/'";/*
    *  " "
    * "
    * ''
    * */  //"""//
    /* dffasdasd*/
    /*
     *
     *
     * */
    // char t='0';
    char x[100] = "//dasdasd/asd// s/* */";
    char y = '/';
    while(scanf("%d",&n)!=EOF){
   
        int i,num;
        link *node = create_link(-1);
        link *node_sort = create_link(-1);
        for(i=0;i<n;i++){
   
            scanf("%d",&num);
            insert(node,num);
            insert_sort(node_sort,num);
        }
        printf("no sort(head_insert):");
        display(node);//第一种展示
        printf("sort:");
        display(node_sort);//第二种
    }
}
  • 原文章代码删除注释效果
    可以发现,某些行有tab的注释以及行代码尾部有注释,并不能有效删除,破坏了原有代码格式
int main(){
   
                int n;    char s[100]="/* '*/'";      
    
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值