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定義兩遍,很可能是誤輸入,所以會報錯。