局部变量 不理解 为什么 把c=5改为 int c=5 为什么输出的结果不一样 ,那个复合语句不是c=5不是只在复合语句里面作用吗
# include "stdio.h"
int main()
{int a=6,b=2,c=3;
{ c=5;}
printf("%d %d %d",a,b,c);
}
你这样c=5的话是赋值语句,就把3给覆盖了
但是你int c=5的话就只在哪个大括号里有效
int c=5;的话,这个c就是大括号内的临时变量,与第4行的c不是同一个变量。
写成c=5的话,这个c就是第4行的c,将其改成了5