请各位高手帮我分析一下这个小程序??感激不尽!

来源:百度知道 编辑:UC知道 时间:2024/09/28 07:39:19
#include<iostream.h>
void main()
{ int x=1,y=3;
cout << x++ << ",";
{ int x=0;x+=y*2;
cout << x <<"," << y << ",";
}
cout << x <<"," << y;
}
为什么输出的结果是:
1,6,3,2,3

#include<iostream.h>
void main()
{ int x=1,y=3;
cout << x++ << ","; //输出1,然后,x自加1,x=2
{
int x=0;x+=y*2;
cout << x <<"," << y << ","; //输出x=6,y=3
//这里x是局部变量,仅仅存在与这个大括号内,出了大括号,是外面那个x
}
cout << x <<"," << y; //x是2,y是3
}

{ int x=0;x+=y*2;
cout << x <<"," << y << ",";
}

这一段中的x,y的作用域只限这一块,出了这个语句块后,x和y还是代表刚进入main()函数时定义的变量x,y。