中易网

一个C语言作用域问题

答案:2  悬赏:60  
解决时间 2021-04-28 03:54
  • 提问者网友:刪除丶後
  • 2021-04-27 17:01

#include <stdio.h>
void main()
{
int a=1,b=2,c=3;
printf("%3d%3d%3d\n",a,b,c);
{

int b=4;
float c=5.0;
printf("%3.1d%3d%5.1f\n",a,b,c);
a=b;
{

int c;
c=b;
printf("%3.1d%3d%3d\n",a,b,c);
}
printf("%3d%3d%5.1f\n",a,b,c);
}
printf("%3d%3d%3d\n",a,b,c);
}最后输出的a为什么4?内层代码块的赋值操作对a有什么作用?重新定义就不影响a的值,为什么赋值就会改变它的值呢?

最佳答案
  • 二级知识专家网友:孤伤未赏
  • 2021-04-27 17:06
该变量名好比旅店里单人间的房间号,住进里头的人可以变化,而房间号则是不变者。住进里头的人可以随需要而变化。
全部回答
  • 1楼网友:随心随缘不随便
  • 2021-04-27 17:25

int b=4;

a=b;
当然a=4了

你程序中的{}内层什么代码块,中间的2个这个{}没有一点意义

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息