当前位置:  开发笔记 > 编程语言 > 正文

通过C中的数组迭代

如何解决《通过C中的数组迭代》经验,为你挑选了1个好方法。

我的代码看起来像这样:

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次每次都改变是有原因的吗?我重写了程序以改变它如何显示元素,它是以相同的方式:它显示我输入的五个元素,然后三个保持不变,然后每次执行程序时更改,然后是最后一个常量.为什么是这样?



1> Erik Nyquist..:

int vect[10]索引5-9未初始化 - 您需要为它们分配一些内容,否则它们(可能)将返回垃圾,因为这是未定义的行为(C99标准,第5.1.2节"执行环境").您还可以定义vect为static,即static int vect[10],因为静态变量将自动初始化为0,而静态int数组将自动初始化为0.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有