整型数组声明与定义

当声明数组int arr[9]
定义数组,输入数据截止到下标 arr[6],系统自动给arr[7] arr[8] 赋值为 **-…**任意值


 int x; //输入数据 
 int i = 0 ; //记录位数
 int a[5]; //存储逆序
 int temp; 
  printf("输入数据x:");
 scanf("%d",&x);
 while( x >= 100000 && x > 0)
 {
    
    
  printf("数据超过5位,请重新输入:");
  scanf("%d",&x);
 }
  //输出
 printf("\n%d是%d 位数\n",x,i);
 printf("原来数据顺序:");
 for( int k = i-1 ; k >= 0  ; k-- )
 {
    
    
  printf("%d",a[k]);
 }
  printf("\n逆序后:");
 for(int j = 0 ; j < i ; j++ )
 {
    
    
  printf("%d" , a[j]);
 }

结果:
在这里插入图片描述
若将代码修改: for( int k = i ; k >= 0 ; k-- )
结果:
在这里插入图片描述
原因:此时只将0 8 3 赋值给arr[0] arr[1] arr[2],剩余arr[3],arr[4] 由系统自动赋值
**总结:**定义静态数组时未赋值的下标所在值由系统自动赋值任意值;
若想自己输入的数据多少就是数组大小请用动态声明数组

猜你喜欢

转载自blog.csdn.net/angelsweet/article/details/104225452