下面的代碼片段在採訪中給了我,問我有沒有可能評估for循環的所有語句?「for」循環的多條語句無塊
int i, n, t1 = 0, t2 = 1, nextTerm;
for(int i= 0; i < 10; i++)
{
printf("%d ", t1);
nextTerm = t1 + t2;
t1 = t2;
t2 = nextTerm;
}
我問他,我認爲不可能評估for循環沒有塊的多個語句。但是,我的朋友告訴我,這是可能使用逗號運營商,像這樣:
int i, n, t1 = 0, t2 = 1, nextTerm;
for(int i= 0; i < 10; i++)
printf("%d ", t1),
nextTerm = t1 + t2,
t1 = t2,
t2 = nextTerm;
我知道comma
運營商如何爲單行語句工作。但我想知道如何工作comma
運營商多行?
另外,是否有任何其他方式來完成這項任務?
這是一個單爲您的編譯器行。 –
我希望面試不好,因爲相信我,你不想要這份工作。如果他們不能提出更好的面試問題,那麼表明他們是一羣業餘愛好者。 – Lundin
在大多數情況下,C將換行與其他任何空格字符(例如空格)區別開來。例外情況將在引用字符串,預處理器指令等內。 –