For any two distinct real numbers, we can always find a rational number strictly between them, i.e. that rational number must be able to be expressed as a terminating decimal or a repeating decimal. To be clear, that rational number is strictly between the two values; it is not allowed to be equal to either.
Suppose k is a rational number strictly between 1 and 0.9999…. If this is possible, then, I can write k exactly as either a decimal with finite digits, or I can write k as a repeating decimal. The problem is, there are no decimals with finite digits between 1 and 0.999… , and there is no way to write a repeating decimal that is greater than 0.999… and still less than 1. Either way, a k strictly between 1 and 0.999… does not exist. The only way this can be true is if those two numbers are not actually distinct. That is to say, 1 = 0.999…..