Why does this C code compile?
问题 #include <stdio.h> int main() { int c = c; printf("c is %i\n", c); return 0; } I'm defining an integer variable called c , and I'm assigning its value to itself. But how can this even compile? c hasn't been initialized, so how can its value be assigned to itself? When I run the program, I get c is 0 . I am assuming that the compiler is generating assembly code that is assigning space for the the c variable (when the compiler encounters the int c statement). Then it takes whatever junk value