c - 在 C 中检查一个 int 是否存在?

标签 c pointers

我有一个包含元素的 13x13 数组,但并非每个元素都是数字。如果它不是一个数字,那么它就会充满空白,所以我试图弄清楚如何检查给定索引处是否存在一个数字。如果一个数字存在,它会做一个工作,如果不存在,它会返回循环。这就是我所拥有的:

    int *spaceCheck;  
    int i, Value;  
    for(i=0;i<169;i++){  
       spaceCheck = &Array[i];       
       if(!spaceCheck){  
          continue;
       else
          //do this job
    }

我可以这样做吗?还有其他更好的检查方法吗?谢谢你的帮助。

它是一个包含 169 个元素的整数数组。因此,当最初加载数据(数字)时,只有 80 个元素从文件加载到数组中。数组中的其余空间用空格填充 (printf(""))。抱歉造成混淆。

最佳答案

要执行您要求的操作,您需要使用指示“无值”的标记值,例如:

const int novalue = -1; // or whatever you want, as long as it is unique
int Array[169];
for (i=0;i<169;i++)
    Array[i] = novalue;
...
for(i=0;i<169;i++){  
   Value = Array[i];       
   if(Value == novalue)
      continue;
   //do this job
}

否则,在结构而不是整数上创建一个数组:

struct sValue
{
    char valid;
    int value;
};
sValue Array[169];
for (i=0;i<169;i++)
    Array[i].valid = 0;
...
for(i=0;i<169;i++){        
   if(Array[i].valid == 0)
      continue;
   Value = Array[i].value;
   //do this job
}

关于c - 在 C 中检查一个 int 是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17205018/

相关文章:

c - Makefile编译多个C程序?

c - 指定行运行次数的边界函数 (Big-O) 是多少? (C)

c++ - struct node* node 和 struct node *node 有什么区别?

c++ - 为什么对函数内部的指针所做的更改在函数外部不可见?

python - 如何将二维数组从 Python 传递到 C?

c++ - C++中的策略模式。实现方案

c - 使用指针更新结构中的二维整数数组

c - 套接字读取和未知长度数据

c - 如何在 C 中的嵌套结构中创建指向变量的指针?

ios - '&' used with non-inout argument of type ' AutoreleasingUnsafeMutablePointer<UIImage?>'