C语言中未将整型数组写满造成的数据冗余
先看看我的情况:
#include"stdio.h"
int main()
{
int a[20];//假定我先定义了一个大小为20的数组
for(int i=0;i<20;i++){
scanf("%d",&a[i]);
if(a[i]==-1)//键入-1时结束输入
break;
}
for(int j=0;j<20;j++)
printf("%3d",a[j]);
}
输入:2 3 4 -1
输入: 2 3 4 -146142256 0 1 0 -1 -14236661 0 1 04233561 0 25 0 25 0
没有键入值的位置它自己会用一个值补齐,但我不需要
不会用动态数组,写成了如下。
#include"stdio.h"
int main()
{
int a[20];//假定我先定义了一个大小为20的数组
int count; //添加计数值
for(int i=0;i<20;i++){
scanf("%d",&a[i]);
if(a[i]==-1)//键入-1时结束输入
break;
count++;//键入一值累加一次
}
for(int j=0;j<count;j++)//遍历时边界为count
printf("%3d",a[j]);
}
输入:2 3 4 -1
输出:2 3 4