当前位置: 代码迷 >> 综合 >> 【C Prime Plus】学习笔记,Chapter 10,数组初始化问题
  详细解决方案

【C Prime Plus】学习笔记,Chapter 10,数组初始化问题

热度:42   发布时间:2024-01-19 15:45:03.0
// 【C Prime Plus】学习笔记,Chapter 10, P631
#include <stdio.h>
int main(void)
{   int i;
char arr[4];
printf("局部变量没有初始化,看看打印出来是什么\n");
for(i=0;i<4;i++)
printf("%d\n",arr[i]);
printf("局部变量仅仅初始化部分元素,看看打印出来是什么\n");
char t[4]={1,2};
for(i=0;i<4;i++)
printf("%d\n",t[i]);
printf("static局部变量没有初始化,看看打印出来是什么\n");
static	char x[4];
for(i=0;i<4;i++)
printf("%d\n",x[i]);
printf("static局部变量仅仅初始化部分元素,看看打印出来是什么\n");
static char y[4]={1,2};
for(i=0;i<4;i++)
printf("%d\n",y[i]);
//---
return 0;
}


输出结果:

局部变量没有初始化,看看打印出来是什么
-52
-52
-52
-52
局部变量仅仅初始化部分元素,看看打印出来是什么
1
2
0
0
static局部变量没有初始化,看看打印出来是什么
0
0
0
0
static局部变量仅仅初始化部分元素,看看打印出来是什么
1
2
0
0

 

小结:

1)局部数组 如果没有初始化,其值是不确定的

2)局部数据,如果仅仅初始化一部分元素,余下的元素则是0

3)static 局部数组,没有被初始化的元素,默认是0

 

 

  相关解决方案