0
int n=5;
int q=(n+3)/4;
switch(n%4)
{
case 0:do{ n++;
case 3:n++;
case 2:n++;
case 1:n++;}while(--q>0);
}
cout<<n;
什麼將N的值是什麼? 這只是代碼片段,給出的答案是10.看不到如何?
int n=5;
int q=(n+3)/4;
switch(n%4)
{
case 0:do{ n++;
case 3:n++;
case 2:n++;
case 1:n++;}while(--q>0);
}
cout<<n;
什麼將N的值是什麼? 這只是代碼片段,給出的答案是10.看不到如何?
的n
最終值是10之前的開關n
是5,q
是2.切換進入殼體1 n
遞增1次在第一次迭代中,而在第二個4次以上。最後n
的值爲5 + 1 + 4 = 10.
嗯,是的,現在代碼被編輯了,'n'確實是10。 – Dialecticus
使其編譯並使用調試器來逐步瀏覽並觀察變量變化 – PlasmaHH
google'duff's device' – 2012-11-01 12:58:00
case標籤只是標籤,'switch'是隻是一個'goto'。也許這有幫助。 –