我正在尝试以下C代码:
void main()
{
int i;
for(i = 0; i< 10; i++)
{
int num;
printf("\nthe variable address is: %p", &num);
}
getch();
}
Run Code Online (Sandbox Code Playgroud)
我原以为它要么抛出错误要么num多次声明,而是&num对于for循环的所有迭代,输出显示相同的值.这种行为背后的原因是什么?似乎无论在for循环中都有声明,实际的声明/定义只发生一次.
有人能帮我理解这种行为吗?