代碼如下
#include "stdafx.h"
#include <IOSTREAM>
using namespace std;
int i = 0;
int main(int argc, char* argv[])
{
cout<<i<<endl;
int i = i;
cout<<i<<endl;
return 0;
}
結果截圖:對此進行解釋:
當在局部變量裏定義了一個和全局變量同樣的名字時, 再引用那個名字就相當於用了局部變量的名字 而很明顯你局部變量的i還沒初始化, 所以用i初始化i是有問題的
總結:此代碼合法但不合理