我只想打印数组中的值。但它也显示了垃圾值。
#include<stdio.h>
#include<stdlib.h>
int main(){
int arr[12];
int i;
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[4] = 5;
for(i = 0; i<12;i++){
if(arr[i] == '\0')
{
printf("\nNull");
}
else
printf("\n %d",arr[i]);
}
}
===输出======
1
2
3
Null
5
1
-2139062272
Null
-13136
Null
Null
Null
Process returned 0 (0x0) execution time : 0.065 s
Press any key to continue.
如何过滤所有垃圾值并仅显示初始化值?或者,如何清除所有垃圾值?
最佳答案
如何过滤所有的垃圾值并只显示初始化的值。
除非定义了垃圾值是什么的特定规则,否则“垃圾值”与数组中的实际值没有区别,否则,整数就是整数。
如何清除所有垃圾值。
同样,除非您有垃圾值是什么的规则,否则您的另一个选择是用预先需要的值memset
数组,即用一个值初始化数组中的所有值。
#include <stdio.h>
#include <string.h>
int main()
{
int arr[12];
memset(arr, '\0', sizeof arr);
/* This fills arr with the null character */
}
或者,也可以将数组归零
int arr[12] = {0};
关于c - 在C中过滤垃圾值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51202078/