//**/ 的意思是什么?

9
我收到了一段旧的C代码片段,其中有以下几行(结果只是斜杠符号):
putchar('/' //**/ 
    1 / 1 /'\1');

能有人解释一下这段代码吗?这些符号是什么意思?

顺带一提,使用gcc编译器的std=c89标志编译可以成功,但是使用std=c99标志就不行。


5
你在生产代码中发现这个问题,还是在一个混淆的C竞赛条目中发现的? - Barmar
在我的编译器GCC 4.8.1上,它无法编译。 - haccks
当我指定std=c89时,@haccks为我做了什么。 - amdixon
@haccks:你设置成了C89模式吗?GCC的默认设置包括行注释作为扩展。 - user2357112
@user2357112;不,我是在C99模式下编译的。 - haccks
我在互联网上找到了这段代码,只是为了检查《C程序设计语言》的答案的替代解决方案。 - Alexander Myshov
1个回答

15

这是一个除法运算符,后面紧跟着一个空的注释。在 C99 模式下,它是一种新风格的注释方式,由于现在没有除法运算符,会导致语法错误。


也许它展示了C语言中斜杠的不同含义。 - Barmar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接