PHP中文网2017-04-17 14:40:55
C++的变量作用域问题
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
int a = 3;
int i = 3;
{
int i = 1;
}
cout << i << endl; // 3
}
黄舟2017-04-17 14:40:55
编译器没有那么“笨”,它会知道你的意思是在循环中使用一个被初始化为0的变量。而上边a就不同了,编译器搞不清楚你为什么要把a定义两遍,很可能是误输入,所以会报错。