Without static, the default is auto type, at this time, do not give the initial value, the initial value of the variable is random.
If static is added to the initial value, the initial value of the variable is 0 by default.
In fact, can not be said not to assign the initial value is not, for local variables, do not assign the initial values, in fact, he is stored in a random number, who does not know how much he is, so if you do not assign the initial value of the use of it, the program is completely uncontrolled, as you figure 1, directly in the while to judge Therefore, this while judgment is not controllable.
Personal understanding: Because in the program running, the memory value of the running device is arbitrary, after the definition of the variable, the defined address is changed to the initial value, if not given the initial value, then the storage space here is not refreshed, is random (or possibly the previous one)
C: Variable Initial value problem