KnowledgeBoat Logo

Computer Applications

Give output of the following method definition and also write the mathematical operation they carry out:


void test2(int a, int b)
{
    while( a != b)
    {
      if ( a > b)
        a = a — b;
      else
        a = b — a;  
    }
    System.out.println(a);
}

if 4 and 17 are passed to the function.

Java

User Defined Methods

ICSE

106 Likes

Answer

Infinite Loop

Working

Initial value of a is 4 and b is 17 as given in the question. As a and b are not equal, condition of while loop is true, first iteration starts. a is less than b so if condition is false, a = b - a is executed and a becomes 17 - 4 = 13. Condition of while loop is true so second iteration starts. Again, if condition is false. This time a becomes 17 - 13 = 4. Like this, the value of a keeps oscillating between 13 and 4 resulting in an infinite loop.

Answered By

60 Likes


Related Questions