多分号线结尾:可以接受吗?

时间:2012-03-27 03:59:35

标签: objective-c xcode syntax line-endings

所以,当我为下一个应用程序更新编写一些代码时,我注意到一些奇怪的事情:你可以在Objective-C语句的末尾添加大量的分号,它会编译得很好!哎呀,它的运行方式也一样。为什么这个世界会起作用?

2 个答案:

答案 0 :(得分:6)

分号仅用于结束当前语句。允许使用类C语言的空语句,例如:

int len = 0;
while(str[len++]); // count the length of a null-terminated string
if (1) {} else { printf("Uh oh... this can't be happening!\n"); }

他们什么都不做。

在行尾添加任意数量的分号只是极端情况。

答案 1 :(得分:5)

每个额外的分号代表一个什么都不做的陈述。

此外,像0;这样的简单表达式是合法代码,不执行任何操作。