(a - c) is a 1-digit number from 2 to 8, call it x. 99x = 100(x-1) + 10 (9) + (10-x). Reversing this gives 100(10-x) + 10(9) + (x-1). Adding the two clearly gives 1089.

In fact, the digits don't have to be descending; it only matters that the first digit must be greater than the last. If the first and last are equal, you'll obviously get zero. If the first is smaller than the last, you'll simply get -1089. And it makes no difference what the middle digit is.

Almost right: The first and last digit have to differ by at least 2. If they differ by 1, the difference would only be 99, so unless 099 counts as a three-digit number, this wouldn't work.