谁见过这样的c语言的用法?

来源:百度知道 编辑:UC知道 时间:2024/06/17 02:22:17
void main(void)
{
int x = 1;
{
int x = 2;
{
int x = 3;
printf(“x= %d\n”, x);
}
printf(“x= %d\n”, x);
}
printf(“x= %d\n”, x);
}
我是不明白什么意思,高手来指导一下吧

c允许在一对花括号里定义和外部同名的变量,其作用域仅限制在花括号内。
在会括号内,采用新变量的值
这个题的答案是和i
3
2
1

void main(void)
{
int x = 1;
{
int x = 2;
{
int x = 3;
printf("x= %d\n", x);
}
printf("x= %d\n", x);
}
printf("x= %d\n", x);
}
我倒,你写程序的格式让人看不懂.哈
x是局部变量.输出结果3,2,1
很正常

这是变量的作用域的问题,(大概是教师在给学生演示)

“{{{}}}”有三个{},咦个包含这一个,形成层次:
x=3只在里层其作用,x=1和x=2因为有x=3所以不在里层其作用,所以第一句printf输出x=3
x=2在中层起作用,x=1因为x=2的存在而不起作用,里层本来可以用,但是里面有一个x=3,所以不用2而用里面的3,所以第二句printf输出x=2

……第三句输出x=1

希望帮得上你

呵呵,还多看几遍书先吧?怎么样别人解释都是一团迷蒙蒙。