#include <stdio.h>
int a;
void myproc()
{
int a = 2;
while (a == 2)
{
int a = 3;
printf("a = %d\t", a);
break;
}
printf("a = %d\t", a);
}
int main()
{
a = 1;
myproc();
printf("a = %d\t", a);
return (0);
}
我原本期望上述代码会输出:a = 3 a = 3 a = 1 然而,它输出的是:a = 3 a = 2 a = 1。请问有人能够提供一个合理的解释吗?