1
所以,當我爲我的下一個應用程序更新開發一些代碼時,我注意到了一些奇怪的現象:您可以在Objective-C語句的末尾添加大量的分號,它會編譯得很好!哎呀,它也運行相同。爲什麼在這個世界上這個工作?多分號線結束:可接受?
所以,當我爲我的下一個應用程序更新開發一些代碼時,我注意到了一些奇怪的現象:您可以在Objective-C語句的末尾添加大量的分號,它會編譯得很好!哎呀,它也運行相同。爲什麼在這個世界上這個工作?多分號線結束:可接受?
分號僅用於結束當前語句。空語句可以出現在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"); }
他們沒有做任何事情。
在行的末尾放置任意數量的分號僅僅是一個極端情況。
每個額外的分號代表一個不執行任何操作的語句。
此外,像0;
這樣的簡單表達式是無效的合法代碼。
每個分號終止一個語句。您可以根據需要在一條線上添加儘可能多的語句。爲什麼*不應該*這項工作? – 2012-03-27 04:02:42
如果語言的語法需要一個,而您恰好不想做任何事,那麼禁止這樣做會很難創建一個空的語句。 – 2012-03-27 04:03:22
我一直認爲分號在一個句子中工作的時間段(你只需要一個,而且任何一個都會做一些奇怪的事情)。 – CodaFi 2012-03-27 04:03:23