[Thinking in C] 注释符被编译器替换成了啥?

答案是空格,证明如下,不逼逼,直接上代码:
//文件被命名为test.c

#include<stdio.h>


int main()
{
    int a=2;

    printf("%d\n",a);

    return/*this is a pig*/0;
}

gcc编译,运行,console结果:

2

然后你把注释去掉,代码如下:

#include<stdio.h>


int main()
{
    int a=2;

    printf("%d\n",a);

    return0;
}

gcc就开始抱怨了,如下:

test.c: In function ‘main’:
test.c:10:5: error: ‘return0’ undeclared (first use in this function)
     return0;
     ^
test.c:10:5: note: each undeclared identifier 
is reported only once for each function it appears in

综上,注释被编译器替换成了空格。

本文OVER!

原创文章 42 获赞 15 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Codeliang666/article/details/105825911