为什么加负数会导致数组越界,而减正数不会?
  • 板块灌水区
  • 楼主77Glorious
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/3/28 20:53
  • 上次更新2024/3/28 22:43:31
查看原帖
为什么加负数会导致数组越界,而减正数不会?
956316
77Glorious楼主2024/3/28 20:53
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			cin>>a[i][j];
	//暴力枚举 
	
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
		{
			string tmp="";
			for(int k=0;k<7;k++)//横向往左边存字符串
			{
				if(1<=j-k)//没有越界 
					tmp+=a[i][j-k];		
			}
			if(tmp=="yizhong")
			{
				for(int k=0;k<7;k++)
					vis[i][j-k]=1;
			}
			tmp="";
/*
若改成for(int k=0;k>-7;k--)
			{
				if(1<=j+k)//没有越界 
					tmp+=a[i][j+k];		
			}
就会出现越界情况,明明坐标变换后是等效的啊,为啥可以减正数而不能加负数呢?
*/
       }
    }
}
2024/3/28 20:53
加载中...