关于数组越界
  • 板块灌水区
  • 楼主dshzsh
  • 当前回复5
  • 已保存回复5
  • 发布时间2020/8/23 11:53
  • 上次更新2023/11/6 19:36:55
查看原帖
关于数组越界
200116
dshzsh楼主2020/8/23 11:53

数组越界修改应该有什么规律
总觉得这个东西可以利用起来
如下几个东西:

#include<bits/stdc++.h>
using namespace std;
int a[10],b[10],c[10];
int main()
{
	int i;
	for(i=10;i<21;i++)
		a[i]=1;
	for(i=0;i<=9;i++)
		printf("%d ",a[i]);
	printf("\n");
	for(i=0;i<=9;i++)
		printf("%d ",c[i]);
	printf("\n");
	for(i=0;i<=9;i++)
		printf("%d ",b[i]);
	return 0;
}

结果:

0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0

可以看到由于越界修改了b数组
然后是这个:

#include<bits/stdc++.h>
using namespace std;
int a[10],c[10],b[10];
int main()
{
	int i;
	for(i=10;i<21;i++)
		a[i]=1;
	for(i=0;i<=9;i++)
		printf("%d ",a[i]);
	printf("\n");
	for(i=0;i<=9;i++)
		printf("%d ",c[i]);
	printf("\n");
	for(i=0;i<=9;i++)
		printf("%d ",b[i]);
	return 0;
}

结果:

0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

和最初地址分配顺序有关

2020/8/23 11:53
加载中...