代码如下
#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是有问题的
总结:此代码合法但不合理