我只想打印数组中的值。但它也显示了垃圾值。

#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/

10-09 09:04