C中0或1变量的隐式初始化

在C编程语言中,变量应该在赋值之前声明。 例如:

null
   // declaration of variable a and 
   // initializing it with 0.
   int a = 0;

   // declaring array arr and initializing 
   // all the values of arr as 0.
   int arr[5] = {0}; 

然而,变量可以被赋值为0或1,甚至不用声明它们。让我们看一个例子,看看如何做到这一点:

#include <stdio.h>
#include <stdlib.h>
// implicit initialization of variables
a, b, arr[3];
// value of i is initialized to 1
int main(i)
{
printf ( "a = %d, b = %d" , a, b);
printf ( "arr[0] = %d, arr[1] = %d, arr[2] = %d,"
"" , arr[0], arr[1], arr[2]);
printf ( "i = %d" , i);
return 0;
}


输出:

a = 0, b = 0

arr[0] = 0, 
arr[1] = 0, 
arr[2] = 0, 

i = 1

在数组中,如果使用的元素少于数组的指定大小,则剩余元素将默认设置为0。 让我们看另一个例子来说明这一点。

#include <stdio.h>
#include <stdlib.h>
int main()
{
// size of the array is 5, but only array[0],
// array[1] and array[2] are initialized
int arr[5] = { 1, 2, 3 };
// printing all the elements of the array
int i;
for (i = 0; i < 5; i++) {
printf ( "arr[%d] = %d" , i, arr[i]);
}
return 0;
}


输出:

arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 0
arr[4] = 0

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享