我有一个包含元素的 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/