我正在尝试保存数组中有多少个空元素。这是我到目前为止所做的,但它打印出所有行都“不为空”,这是错误的。 我该怎么做?
char arr[10][50]={NULL};
int lines;
//inserting values to arr
for(int i=0;i<10;i++){
if(arr[i] == NULL){
lines++;
printf("empty");
}
else
printf("not empty");
}
最佳答案
当你执行 arr[i] == NULL
时,arr[i]
会衰减到指向 arr[i] 中数组第一个元素的指针]
(即 &arr[i][0]
),并且该指针将永远为NULL
。
我怀疑你想要例如类似于 arr[i][0] == '\0'
。
关于c - 如何检查数组中有多少元素为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34792434/