for循环可以在条件中声明变量:for(int i=10;i;printf("%d",i--));while可不可以?比如while(int i=1)printf("%d",i);为什么?(不考虑死循环问题)
因为变量的作用域不同,代码一种两个变量a的作用域都是main函数,所以会造成冲突,而代码二中你只定义了一个a 当然,如果在for之前还有一个int a也不会报错,因为在for循环里面的a的作用域只有for{}之间这一段,而在for之外的a的作用域是从定义...