C语言数组问题代码错误

问题遇到的现象和发生背景

我感觉我的代码没问题啊,怎么会运行出这些乱码?问题出在哪里了

遇到的现象和发生背景,请写出第一个错误信息

img

img

用代码块功能插入代码

```c
#include
int main()
{
    int n,i=0,j;
    int a[100]; 
    scanf("%d",&n);
    while(n!=1)
    {
        if(n%2!=0)
        {
            n=n*3+1;
        }
        else 
        {
            n=n/2;
        }
        a[i]=n;
        i++;
    }
    
    for(j=i-1;j>=0;j++)
    {
        printf("%d ",a[j]);
    }
    return 0;
}

```,请勿粘贴截图。 不用代码块回答率下降 50%

运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

for(j=i-1;j>=0;j--)
这是降序,得用j--啊

改动处见注释,供参考:

#include<stdio.h>
int main()
{
    int n, i = 0, j;
    int a[100];
    scanf("%d", &n);
    while (n != 1)
    {
        if (n % 2 != 0)
        {
            n = n * 3 + 1;
        }
        else
        {
            n = n / 2;
        }
        a[i] = n;
        i++;
    }

    for (j = i - 1; j >= 0; j--) //for (j = i - 1; j >= 0; j++) 修改
    {
        printf("%d ", a[j]);
    }
    return 0;
}

for里应该是j--

逆序应该用"for(j=i-1;j>=0;i--)"