Writing only the decimal expansion of real numbers I could order them in this way:
1 < 2 < ... < 9 <
01 < 02 < ... < 09 < 10 < ... < 19 < 20 < ... < 98 < 99 <
001 < 002 < ... < 100 < ... < 200 < ... < 900 < ... < 999 <
...
0000000001 < ... < 9999999999
etc.
But where is my flaw of not counting all the reals ?
I mean the decimal expansion of square root of 2 is infinite, so can’t I just claim that I will count it after infinite number of steps ?
That is exactly Cantor's diagonal argument. Assume for the sake of eventual contradiction there is a list or all reals between 0 and 1 (exclude 1 itself), so you can talk about $r_n$, the $n$-th number of your list. They all start $0.\ldots$. For definiteness, forbid numbers ending in an infinite sequence of 9, as $0.59999\ldots = 0.6$ (this leaves out 1). Consider the number $d$, constructed from the list by making it's $k$-th digit different from the $k$-th digit of $r_k$, for example set it to 1 if the $k$-th digit of $r_k$ is not 1, and 2 if the $k$-th digit of $r_k$ is 1. Then $d$ is certainly in the range, it doesn't contain any 9 (let alone an infinite stretch of them at the end), and should be on our list. But it is different in at least one digit of each number on the list. Contradiction, such a list can't exist.