关于C++中的玄学现象
查看原帖
关于C++中的玄学现象
227756
阿祖卡布珈德楼主2020/11/3 20:50

今日我在缩代码时遇到了这种情况:

当i定义于主函数外时:

#include<bits/stdc++.h>
using namespace std;
int i=0;
int main()
{	
	int a[2]={1,2};
	a[i]=a[i++];
	cout<<a[0]<<" "<<a[1];
}

输出“1 2”。

当i定义于主函数内时:

#include<bits/stdc++.h>
using namespace std;
int main()
{	
  	int i=0;
	int a[2]={1,2};
	a[i]=a[i++];
	cout<<a[0]<<" "<<a[1];
}

输出"1 1"。

我们用调试加指针盯着,

发现变量的地址并没有改变。

求大佬解答,是Dev-C++5.10的问题吗?

2020/11/3 20:50
加载中...