任何变量都是有作用域的,普通变量的作用域为它所在的{}内,所以在for循环中
int m =1;这个变量的作用域就在for循环的{}内,出了for循环的{}后,就被系统回收了。
而main函数中 m=1这个值的作用域是整个main函数,所以,在printf中,输出的m的值,就是最开始的m,也就是1,而不是for循环中的m。
另外,当有重名的变量时,优先使用距离最近的变量,所以在for循环中,m++和 n=m中的m都是在for循环中声明的m,所以
if(i==4) n=m这里给n赋值的时候,用的是for循环中的m
因为输出的时候,m取的是外面定义的m=1
循环内的int m,输出是取不到的,取的就是循环外面的了。