为什么我们不能在另一条评论中嵌入一条评论?

Rad*_*gia -1 c syntax comments

/*
/**hiiii**/
*/
Run Code Online (Sandbox Code Playgroud)

说我像这样嵌套评论,所以这有什么不对?在开始时我们有/*一个字符串在里面,然后最后我们在最后*/,所以这里的错误是什么?

Sou*_*osh 6

C标准非常明确./*...*/样式注释不嵌套,因为语言语法不允许嵌套.

引言C11,第6.4.9章,评论,(强调我的)

除了字符常量,字符串文字或注释之外,字符/* 引入注释.检查此类注释的内容仅用于标识多字节字符并查找*/终止它的字符.83)

以及相关的脚注,

83)因此,/* ... */评论不嵌套.

详细说明,如你的情况,

/*                  <-- Comments starts here
/**hiiii**/         <-- Found the ending */, so comment ends.
*/                  <-- problem here....
Run Code Online (Sandbox Code Playgroud)
  • 在第一行,/*开始评论.
  • 如前所述,在第二行开始时/* 没有开始新的评论.
  • 在第二行结束时,*/终止注释.因此,在第三行中,*/产生错误.

  • 这没有回答为什么在C中不能使用嵌套注释的问题. (7认同)