无法计算输出

时间:2012-11-01 12:55:23

标签: c++ for-loop do-while

  

可能重复:
  How does Duff’s device work?

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.看不出来怎么样?

1 个答案:

答案 0 :(得分:1)

n的最终值为10.在切换n为5之前,q为2.切换到案例1. n增加1次第一次迭代,第二次迭代4次。最后n的值为5 + 1 + 4 = 10.