Here -- is a post decrement operator
So, in while loop (a>=1) which is true , then a-- gives 0
go to second while loop until get a semicolon
second while loop gets a value as 0
then (a>=0) which is true
then a--
So, after second while loop value of a becomes -1
But for semicolon it cannot go outside of second while loop.
Go to first while loop again (a>=1) condition false and a becomes -2
Go to second while loop ,again condition false and a becomes -3
Now go outside of while loop and print -3