C语言中注释/*/**/*/为什么是错的?这个不是可以理解成给/**/做注释吗?

比如:
#include <stdio.h>
main()
{/*/*programming*/*/
printf("programming! \n");
}

这个注释为什么是错误的?为什么不能理解成注释为/*programming*/?

道理楼上的说了。
编译器是来编译的时候首先遇到/*开始认为这里是开始注释了,到*/认为注释结束了。
那么/*/*programming*/对编译器来说已经是完成了的注释了,最后的*/就成多余的错误了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-26
C语言注释就两种:行注释//和段注释,其中行注释可以“嵌套”,像你说的那样,也就是可以这样写://////////////;但段注释有它自己的规范,必须是“/*”和“*/”成对出现,且在/*和*/中不能再出现/*或者*/,否则编译器视其为错误的,说白了,这就是一个规定,看来你思考的很深,这是好的,但学C语言不要入歧途死钻牛角尖,没必要在这样的东西上浪费时间,去多思考其他的东西,这样才能学好C的。
第2个回答  2014-08-26
这个注释为什么是错误的?为什么不能理解成注释为/*programming*/?——因为/*和*/不需要一一对应,无论前面有多少个/*,只要遇到一个*/,则这个注释就结束了,后面的*/就不再视为注释的结束标志了。
第3个回答  2014-08-26
很简单,不能注释已经注释的,这是c++里的规定,去掉一个/**/就好啦,要不是编译器会报错本回答被提问者采纳
相似回答