Hi, I have a problem with this:

IO:Code:#include<iostream.h> typedef unsigned long int ulong; int main() { ulong a,b; while(cin >> a >> b) { if(a==0 && b==0) return 0; int count = 0, cry = 0; while(a || b) { int x = a%10, y = b%10; a/=10; b/=10; if((x+y+cry)>9) { cry = 1; count++; } else cry = 0; } if(count>1) cout << count << " carry operations." << endl; else if(count == 1) cout << "1 carry operation." << endl; else cout << "No carry operation." << endl; } return 0; }

But what you'll tell about it's output? Can anyone explain...why this is so ...???9 1

1 carry operation.

9 0

1 carry operation.

9 0

No carry operation

9 0

No carry operation

9 1

No carry operation

9 1

1 carry operation.

09 1

No carry operatio

1 carry operation