因为x一开始在主函数之前定义的,x属于全局变量,当x的的值在运行中发生改变时,全局变量的值跟着改变,所以两个x的值都为10,因为全局变量的缘故……
while(y=x--)
x一直在递减
因为x=15是在main里定义的
#include
int x=12,y=7;
void main()
{
int x=15,z;
z=x-y++;
{
int y,z; //如果这里定义x=15,那么最后一个printf输出的X才为15,应该明白吧!
while(y=x--)
{y/=3;
if(y%3==0)
{
z=(++y);
break;
}
}
printf("%d,%d,%d\n",x,y,z);
}
printf("%d,%d,%d\n",x,y,z);
}
因为这一段代码
while(y=x--)
{y/=3;
if(y%3==0)
{
z=(++y);
break;
}
}
根本没有运行哦~
因为在内层块里你并没有定义另一个x所以在里面用到的x还是外层的x 而在里层你执行了 x-- x的值自然改变了