C语言中单行注释“//”用不了,WHY?

书上说,在“C99”(ANSI在1999年推出的新标准C规范)中增加了另一种风格的注释“//”,它只能用在一行中。例如以下代码:#include "stdio.h" main(){ printf("Hello, world\n");//xxxxx getch();}结果在WIN-TC中:但在VC6++中可以运行TC中也出错,如下图:

Win TC是非常老的IDE,它所使用的编译器也是相当老的编译器,并且这个编译器是不支持C语言标准的。很多地方跟现在用的标准有冲突,因为//单行注释一开始没有,而这个编译器也就不支持了。改用/**/这个吧。另外就是推荐换新的IDE,有新的免费的且支持标准的不用,为什么要用老的不支持标准的么?折磨自己啊?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-30
你是如何理解 "只能用在一行中" 的呢,你的所有代码都挤到一行了?
这个单行注释这么理解,它只作用在一行内,从双杠出现到行尾止,下一行就不在被注释的范围内了,这是相于对可跨行注释的 /* */而言的

#include <stdio.h>

int main()
{
printf("Hello, world\n");
//xxxxx getch();
return 0;

}本回答被网友采纳
第2个回答  2013-03-30
tc没有支持使用C99标准
标准就好比官方语言,但是也允许方言不是.
之前的标准虽然有些过时,但是不影响使用
而且编译器并不是100%的支持语言标准,语言标准也是有漏洞和未定义情况的
第3个回答  2013-03-30
TC和VC6(也可以说是VC98)是在C99之前推出出的编译器。
就好比,用机关枪比用大刀打仗利害,但为啥秦始皇那么牛,他的军队为什么不配上机关枪去打仗呢?