Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 有人能解释一下这段代码在即将到来的测试中是如何工作的吗_Loops_Variables_While Loop - Fatal编程技术网

Loops 有人能解释一下这段代码在即将到来的测试中是如何工作的吗

Loops 有人能解释一下这段代码在即将到来的测试中是如何工作的吗,loops,variables,while-loop,Loops,Variables,While Loop,有人能给我解释一下这个代码的结果吗 我通过运行代码得到了答案-8,但我不明白你是如何得到它的 int a = 16, b = 8, c = 0; while((a >= 0) && (b != 0)) { if (a<b) { a=a-b; } else { b=b + a; } if(a==0) { c=b; } else { c=a; } } S

有人能给我解释一下这个代码的结果吗

我通过运行代码得到了答案-8,但我不明白你是如何得到它的

int a = 16, b = 8, c = 0;
while((a >= 0) && (b != 0))
{
    if (a<b) {
        a=a-b; 
    } else {
        b=b + a; 
    }
    if(a==0) {
        c=b; 
    } else {
        c=a; 
    }
}
System.out.println(c);
inta=16,b=8,c=0;
而((a>=0)和&(b!=0))
{

如果(a,它会产生2个循环。这是初始状态:

  • 值:
    {a=16,b=8,c=0}
  • 现在让我们进入第一个循环,其中
    a>b
    ,所以

  • 值:
    {a=16,b=24,c=16}
  • 最后一个循环,其中
    a
    ,所以

  • 值:
    {a=-8,b=24,c=-8}
  • 然后
    c=-8
    。这就是为什么输出为-8