你能解释下面C代码的输出吗?

时间:2015-03-11 05:47:27

标签: c

#include<stdio.h>
int main()
{
    int x=4,y=0,z;
    while(x>=0)
   {
     x--; 
     y++;
     if(x==y)
         continue;
     else
         printf("%d%d\n",x,y);
   }
   return 0;
}

在这段代码中,我得到了输出

31
13
04
-15

我不明白输出。谁能解释一下呢?

2 个答案:

答案 0 :(得分:1)

这很简单。您只需要很好地理解continue语句。

  • 循环1:x = 3,y = 1(在x - 和y ++之后)
  • 循环2:x = 2,y = 2(所以你点击continue再次回到循环顶部
  • 循环3:x = 1,y = 3
  • 循环4:x = 0,y = 4(循环检查直到x>=0
  • 循环5:x = -1,y = 5(循环终止)

答案 1 :(得分:0)

while循环运行5次迭代,在每次迭代中,y增加1,x减1。在所有迭代中,除xy等于2外,都会打印xy