99,613 views
13 votes
13 votes
Please help me on this coding problem :)

Consider the following code segment.

int a = 0;
int b = 3;

while ((b != 0) && ((a / b) >= 0)
{
a = a + 2;
b = b - 1;
}
What are the values of a and b after the while loop completes its execution?

a = 4, b = 1
a = 0, b = 3
a = 6, b = 0
a = 8, b = -1

User Terris
by
2.9k points

1 Answer

14 votes
14 votes

Answer:

a=4 , b=1

Step-by-step explanation:

I'm not a computer science major at all but I think I can help you with this code.

Our program wants us to add 2 to a get new a value while also subtracting 1 from b value to obtain new b value. We we want to for for as long b is not 0 and a/b is nonnegative.

One round we get:

New a=0+2=2

New b=3-1=2

Let's see if we can go another round:

New a=2+2=4

New b=2-1=1

We can't go another round because b would be negative while a is positive which would make a/b negative. So our loop stops at this 2nd round.

a=4 , b=1

Other notes:

2nd choice makes no sense because a is always going to increase because of the addition on a and b was going to decrease because of the subtraction on it.

Third choice makes no sense because a/b doesn't even exist.

Fourth choice a/b is negative not nonnegative.

User Niklas Forst
by
3.1k points