本帖最后由 大龄产妇 于 2014-4-28 16:02 编辑
#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;//a定义范围不止于上面括号?这里如果用int a 是不是下面再计算就不是这里的a值?
}
{
score = a + 250;
int score = 30;
printf("%d", score);//30
}
printf("%d\n", score);//这句为什么输出的是上面括号里的score,
return 0;
}
//老师的练习题,答案是 123;10;30260,我现在搞不清楚为什么最后一句printf输出的是上面括号里的score,不应该是输出最上面大括号外面的最先定义的score么?我认为最后一句输出的值应该是120.也就是最上面int score = a+100;(回过头复习之前的知识,还是一堆问题。零基础是硬伤啊!麻烦好心人帮忙解答) |