黑马程序员技术交流社区
标题:
关于C语言中代码块问题作业
[打印本页]
作者:
sydie
时间:
2015-3-15 08:21
标题:
关于C语言中代码块问题作业
#include <stdio.h>
int main()
{
int a = 20;
int score = a + 100;
printf("%d\n",score); // 120
{
int score = 50;
{
score = 10;
printf("%d\n",score);//10
}
a = 10;
}
{
score = a + 250;
int score = 30;
printf("%d",score);
}
//无效
printf("%d\n",score);
return 0;
}
第一个printf输出,值为 score = a + 100 = 120
第二个printf输出,score = 10
第三个printf输出为哪个??值是怎么来的??
作者:
一步一个脚印
时间:
2015-3-28 18:51
#在这里快速回 { score = a + 250; int score = 30; printf("%d",score); }这个代码块中的score是全局的,然后score=10+250;然后你又定义了一个int score=30,这个是局部的,从声明位置开始,所以输出结果是30.
作者:
张恒宇
时间:
2015-4-26 23:41
每个输出语句都是输出对应的{}里面的东西
作者:
张恒宇
时间:
2015-4-26 23:53
一步一个脚印 发表于 2015-3-28 18:51
#在这里快速回 { score = a + 250; int score = 30; printf("%d",score); }这 ...
此处的score不是全局变量。。。。是这段的代码的局部变量!分析的是没有问题的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2