为什么输出这样的结果


#include<stdio.h>
int main()
{
    int n,m;
    int a[10000];
    int i;
    scanf("%d%d",&n);
    for(i=1;i<=1;i++)
    {
        scanf("%d",&a[i]);
    }
    for(int j=1;j<=n;j++)
    printf("%d",a[j]);
        
} 

img

你想写的应该是这样的程序吧,输入两个数,第一个数是输入的数目,第二个数是输出的数目,然后换行,第二行是输入的数组,你想要的代码应该是这样的:


```c
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m,n;
    int array[10000];
    scanf("%d%d",&m,&n);
    for(int i=0;i<m;++i)
    {
        scanf("%d",&array[i]);
    }
    for(int j=0;j<n;++j)
    {
        printf("%d",array[j]);
    }
    return 0;
}


```

你这程序是干啥的啊

多了一个%d, scanf("%d%d",&n);改为 scanf("%d",&n);就行了。

img

希望对题主有所帮助!可以的话,帮忙点个采纳!