C ++将数字输入到数组中并输出它们

时间:2017-12-13 14:51:28

标签: c++

我正在尝试理解C ++,因为我是新手。 以下代码每次运行时都会崩溃。据我所知,它应该输出0到9。 声明i = num [i]我知道是没有意义的,但是添加这些额外的代码会使它崩溃。 为什么呢?

    int num[10];

    for(int i = 0; i < 10; i++){
        i = num[i];
        cout << num[i];
    }

编辑 - 谢谢,猜猜我没有看到那个小错误。现在似乎显而易见......

2 个答案:

答案 0 :(得分:1)

您正在为num[i]分配未定义的i。然后你在循环的下一次迭代中递增i,并访问i的元素num(未定义),这只有10个项目。

实际上,您正试图访问您无法控制的位置num[1978253]的内存。

答案 1 :(得分:0)

int num[10];

    for(int i = 0; i < 10; i++){
        i = num[i];
        cout << num[i];
    }

在上面的代码中,您没有将任何内容存储到您声明的数组中。所以它会输出一些随机值。

以下内容可以按您的想法运作:

int num[10]={0,1,2,3,4,5,6,7,8,9};

    for(int i = 0; i <= 10; i++){

        cout << num[i];
    }