首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定多维数组中的元素是否为空

如何确定多维数组中的元素是否为空
EN

Stack Overflow用户
提问于 2014-09-25 03:55:08
回答 1查看 2.1K关注 0票数 0

我正在处理一个幻方问题,它使用一个大小为n*n的动态矩阵,它用数字1-n^2填充矩阵,并且每一行、每列和对角的和必须相同。该算法的条件之一是检查矩阵中的一个元素在其中一个循环中是否已经输入了一个数字。我在检查矩阵中的某个元素是否已经输入了一个数字时遇到了问题,所以我想知道如何检查一个元素是否为空。

下面是算法这一部分的代码:

代码语言:javascript
复制
else if(matrix[row][col] != 0)
    {
        row = row + 2;
        col--;
    }

由于某种原因,它在包含循环的第5次迭代中触发这个if语句。我已经用幻方的算法在纸上计算出来了,循环的第五次迭代把它带到了矩阵中的一个空元素。我认为如果一个元素是空的,那么它保存的值是0吗?我对任何帮助都很感激,因为我很困惑。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-25 03:57:11

默认情况下,C和C++中的数组不是空的。您需要显式地将元素设置为0或创建数组的方式使其初始化为0

您所面对的是未定义的行为。未初始化的数组具有一些随机(读取垃圾)值,并以未定义的行为访问这些值。

在全局范围或使用static限定符创建的数组将初始化为0,或者可以使用initialization provided built in by the language,也可以显式地将每个元素设置为0

这样做有多种方法,最好的方法取决于您想要从数组中提取什么行为。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26030213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档