我的代码如下:
void main()
{
int vect[10], i;
for (i=0; i<5; i++)
vect[i] = i*2;
printf("Vector: ");
for (i=0; i<10; i++)
printf("%d ", vect[i]);
printf("\n");
在执行时,它将始终显示这种输出:
为了让它只显示我输入的元素(前五个;0 2 4 6 8),我必须使用计数器,还是有办法告诉它只显示那些元素?
为什么元素5,6,7和9总是一样,但是第8个元素每次都会改变?我重写了程序以改变它显示元素的方式,这是同样的方式:它显示我输入的五个元素,然后是三个始终保持不变的元素,然后是一个每次执行程序时都会改变的元素,然后是最后一个不变的元素这是为什么?
最佳答案
int vect[10]
索引5-9没有初始化-您需要为它们分配一些内容,否则它们将(可能)返回垃圾,因为这是未定义的行为(C99 standard, section 5.1.2 "Execution environments")您还可以将vect
定义为static,即static int vect[10]
,因为静态变量将自动初始化为0,而静态int数组将所有元素自动初始化为0。
关于c - 遍历C语言中的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34076077/