我有一个 char 数组,其中一些索引有 char 但有些未初始化。我只想对那些有值的操作进行操作,但是当我尝试使用 ""
时 strcmp
它不起作用,因为它们是用垃圾值初始化的,并且不是'空。我该如何检查?
最佳答案
变量没有“空”值这样的东西,因此无法仅通过查看来确定数组元素(或任何变量)是否已初始化。未初始化的对象具有不确定 值。尝试读取它可能会产生任何值,实际上可能会调用 undefined behavior在某些情况下。
处理这个问题的方法是跟踪以某种方式写入了哪些数组元素。
关于检查某个索引处的数组是否在 C 中具有未初始化的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60200686/