免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1330 | 回复: 11
打印 上一主题 下一主题

问个注释问题~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-22 13:46 |只看该作者 |倒序浏览
1)
#include <stdio.h>;

int main(void)
{
/*      printf("hello\n";/* hello */
        printf("hello1\n";
        return(0);
}

编译成功

2)
#include <stdio.h>;

int main(void)
{
/*      printf("hello\n";/* hello */ */
        printf("hello1\n";
        return(0);
}
编译失败

为什么第1) 可以编译?  只识别 */  ?

论坛徽章:
0
2 [报告]
发表于 2004-12-22 13:53 |只看该作者

问个注释问题~

>;>;/* printf("hello\n";/* hello */ */
编译器读到hello后面的*/的时候就认为注释结束了,所以后面的*/是不可识别的

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2004-12-22 13:54 |只看该作者

问个注释问题~

因为语法规定,
/* */ 形式的注释不支持嵌套。

论坛徽章:
0
4 [报告]
发表于 2004-12-22 14:04 |只看该作者

问个注释问题~

可以这样
/*
/ *
* /
*/
中间的多个空格夹在/和*之间

论坛徽章:
0
5 [报告]
发表于 2004-12-22 15:25 |只看该作者

问个注释问题~

int a,b,c;
c=a //* b */c ;
;

这个咋么解析?

论坛徽章:
0
6 [报告]
发表于 2004-12-22 15:34 |只看该作者

问个注释问题~

原帖由 "benlan" 发表:
int a,b,c;
c=a //* b */c ;
;

这个咋么解析?


前面的//说明了后面的都是注释了,没什么好解释的。

论坛徽章:
0
7 [报告]
发表于 2004-12-22 17:35 |只看该作者

问个注释问题~

int a,b,c;
c=a //* b */c ;
;
gcc下解析为  c=a/b;;
g++下解析为c=a ;

论坛徽章:
0
8 [报告]
发表于 2004-12-22 17:52 |只看该作者

问个注释问题~

好吧,我不再继续了,不想深究这种问题.

论坛徽章:
0
9 [报告]
发表于 2004-12-22 21:10 |只看该作者

问个注释问题~

这种问题如果讨论到一定时间还不出结果
建议暂时放在一边,然后用标准的格式写注释就可以了

如果真要明白这个理,我猜测需要深入了解各个编译器的代码,和C/C++规范才行吧……

论坛徽章:
0
10 [报告]
发表于 2004-12-22 21:56 |只看该作者

问个注释问题~

去看看编译原理就明白了,复杂的嵌套注释很难让编译器正确解析。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP