在写一些代码的时候,我意外地在一个语句的末尾放了两个半冒号。我很惊讶它并没有给出任何错误。我的意思是允许双半结肠的目的是什么?它实际意味着什么以及它在任何特定的编程方法中如何有用?
答案 0 :(得分:4)
因为;
只是一个空语句,换句话说是null statement。它通常没用但完全有效。
这用于你想要重复执行但不想添加循环体的循环中。如下例所示:
for ( i = 0; i < 10; line[i++] = 0 )
;
然而,在你的情况下,第一个分号是语句的结尾,第二个是空语句。它是无用的,编译器会忽略它。
答案 1 :(得分:2)
;;
只是一个语句的结尾,后跟一个空语句。就像Oracle支持null;
一样。其他平台也这样做。
有时您不希望根据规范执行操作,例如if
,while
等。
if (SomeAction())
;
else
SomethingElse();
当然应该写成:
if (!SomeAction())
SomethingElse();
在一般的空语句之后支持;;
作为语句结束可能更容易,而不是支持您想要允许它的所有特定方案。