C 为什么没有注释的url(http://)可以编译而不出错?

C 为什么没有注释的url(http://)可以编译而不出错?,c,C,我发现我在源代码中添加了一些URL,但忘记了对其进行注释,但仍然可以编译,并且我对其进行了单独测试: int main(){ http://localhost return 0; } gcc hello.c -o hello.exe 它仍然可以编译而没有错误,我检查c关键字,“http”似乎不是关键字,原因是什么?因为它将被视为一个标签,后跟一条注释 所以你以后可以: goto http; 如果打开警告:-Wall它会优雅地警告您: In function ‘main’:

我发现我在源代码中添加了一些URL,但忘记了对其进行注释,但仍然可以编译,并且我对其进行了单独测试:

int main(){
    http://localhost
    return 0;
}

gcc hello.c -o hello.exe

它仍然可以编译而没有错误,我检查c关键字,“http”似乎不是关键字,原因是什么?

因为它将被视为一个标签,后跟一条注释

所以你以后可以:

goto http;
如果打开警告:
-Wall
它会优雅地警告您:

 In function ‘main’:
:2:5: warning: label ‘http’ defined but not used [-Wunused-label]
     http://localhost