所以,当我为下一个应用程序更新编写一些代码时,我注意到一些奇怪的事情:你可以在Objective-C语句的末尾添加大量的分号,它会编译得很好!哎呀,它的运行方式也一样。为什么这个世界会起作用?
答案 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;
这样的简单表达式是合法代码,不执行任何操作。