C language understanding

Users questions: );) Output results? How to do mold? 2. # Include stdio.h intm = 1; voidfun (int * n) (staticintm = 2; * n *= m-1; m + = 2;) main () (intx; for ( x = 1; x 4; x + +) (fun (& m); printf ("% d", m );}}* n * how to understand? The answer is 1315, how to do it, fun m value of the output after three calls, or show every one, really do not set out how the world arrived at the answer, there are Is to * n * changed * n answer to 135l, and so strange. .
Experts answer:1 .* (ptr + y) values were taken 2,4,6, are less than x, so the final output 62.n is a plastic pointer, * n is an integer, * n *= m-1 and * n = (* n) * (m- 1) the same meaning for the first time fun (1), the implementation of m = 1 * (2-1) = 1 second time fun (1), the implementation of m = 1 * (4-1) = 3 the third time fun (3), implementation of the m = 3 * (6-1) = 15 Note that the local variable m fun inside because it is static, the Each time has increased to 2, the local variable with global variable m that is not related to the output of the m
  • This information provided by the users.Thanks!