程序猿之---C语言细节19(来找茬,由/* */ 引起的注释错误)

本文详细探讨了C语言中由多行注释符/* */可能导致的错误,强调注释应准确、易懂且无二义性。建议避免在注释中使用缩写,并指出全局数据和数值单位必须明确注释。同时提醒程序员,注释应使用英文以确保广泛兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要内容:由/* */ 引起的注释错误

有4处注释错误

#include <stdio.h>
#define N 10
//使用下面宏定义的注释
#define BSC //
#define BMC /*
#define EMC */

BSC  daewawe   
BMC fewafewa EMC    //注释优先于宏定义被预处理,当展开宏之前注释已经处理完毕,这是再展开宏出现// /**/就会出错

// 不知道你有没有看出下面注释中那里除了问题
int main()
{

    /*dewag 
    int test;  // 这里是典型的注释错误,少了一个注释的下半部分,从开头的/*到下面遇到的第一个右注释符以前,他们之间都被注释,
    printf("an error\n"); //造成int test; printf();语句都被注释 
    /*dafewageawgeawg测啊测 */
    
    int/**/b; //int和b之间没有空格,这里之所以不会出错是因为注释/**/被空格替代,证明方式如下
    # define r 1  //#和define之间可以空格 
    #/*ee*/define/**fea/int/*feagea*/INT_32

    in/**/t a;

    int i = r;
    int *p = i
    int j = i/*p;  // 编译器吧/* 当成注释的一部分,注意这个细节/*之间没有空格就当成注释的前半部分了
   

    // int test; \
    hahahha  这个注释是正确的哦,\有连接性,vc中\后不能有空格,在gcc、mingw5中可以有
// 使用"//"注释方法有一个移植性问题,所以采用下面注释方法是有它的道理的
#if 0   &n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值