第1个回答 2009-02-01
输出局部的。
原则:内层变量在其生存期内会屏蔽掉同名的外层变量。例如
const char c = '1';
void fun()
{
char c = '2'; /* 这个c的生存期为函数运行开始至函数退出。中途若遇到内层同名的c,则本c暂时不可见(被屏蔽)*/
printf("%c\n", c);
{
char c = '3';
printf("%c\n", c);
} /* 最内层的c生存期至此结束 */
printf("%c\n", c); /* 此处的c代表函数内起始处的c(全局变量c被屏蔽),故值为'2' */
} /* 函数fun退出处 */
上面函数运行后,输出的内容为
2
3
2