急!!!局部变量与全局变量问题求解.

来源:百度知道 编辑:UC知道 时间:2024/05/11 14:59:48
#include <stdio.h>
int y=7;
void main()
{
int x=15,z;
z=x-y++;
{
int y,z;
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);
}
结果10,4,4
10,8,8怎么得出来的
里面的原因不懂,外面是10不是15不懂

#include<iostream>
using namespace std;
int y=7;
void main()
{
int x=15,z;
z=x-y++;//先x-y 再y++ z=8 y=8 //外层的yz
{
int y,z;
while(y=x--)//块内新定义的y 先y=x 再X-- y=15 x=14
{//y=5 2轮y=14 x=13 3:y=13 x=12 ...y=11 x=10
y/=3;//y=11/3 不足四,因为是int型电脑认为约等于3
if(y%3==0)
{
z=(++y);//先++y y=4 z=4//内层的yz
break;
}
}
printf("%d,%d,%d\n",x,y,z);//10,4,4
}
printf("%d,%d,%d\n",x,y,z);//y,z在内层重新定义过,这里的yz为块外层的yz //10,8,8
}