我正在使用Microchip的XC32编译器,它不允许在循环内声明变量(不支持C99),所以我不能这样做:
for(int i = 0;i<10;i++)
{do w/e}
Run Code Online (Sandbox Code Playgroud)
我不想让它成为一个全局的,因为很难跟踪它在大项目中的价值,在各种循环中使用相同的东西,即使你i = 0在每个循环中初始化它.我甚至对此有一个错误,如果你有一些使用相同的嵌套循环,结果会发生奇怪的事情i.
据我所知,我不能手动"取消声明"它,但是在通过块后,在一段代码中定义的变量是未声明的?这是真的,这是否意味着这个代码将像上面的代码一样:
{
int i;
for(i = 0;i<10;i++)
{do w/e}
}//no i anymore?
Run Code Online (Sandbox Code Playgroud)