C 计划因“原因”而终止;分段故障“;(11)

C 计划因“原因”而终止;分段故障“;(11),c,C,我必须以相反的顺序显示数字,但我得到一个错误程序终止为“分段错误”(11) 我的代码: #include<stdio.h> void main() { int a,b[100],i; printf("Enter the total numbers:\n"); scanf("%d",&a); printf("Enter the numbers:\n"); for(i=0;i<a;i++) { scanf("%

我必须以相反的顺序显示数字,但我得到一个错误程序终止为“分段错误”(11)

我的代码:

#include<stdio.h>
void main()
{
    int a,b[100],i;
    printf("Enter the total numbers:\n");
    scanf("%d",&a);
    printf("Enter the numbers:\n");
    for(i=0;i<a;i++)
    {
        scanf("%d",&b[i]);
    }
    for(i=a-1;i>=0;i++)
    {
        printf("%d\n",b[i]);
    }
}
#包括
void main()
{
int a,b[100],i;
printf(“输入总数:\n”);
scanf(“%d”和“&a”);
printf(“输入数字:\n”);
对于(i=0;i=0;i++)
{
printf(“%d\n”,b[i]);
}
}

您需要将i++替换为i--

#include<stdio.h>
void main()
{
    int a,b[100],i;
    printf("Enter the total numbers:\n");
    scanf("%d",&a);
    printf("Enter the numbers:\n");
    for(i=0;i<a;i++)
    {
        scanf("%d",&b[i]);
    }
    for(i=a-1;i>=0;i--)
    {
        printf("%d\n",b[i]);
    }
}
#包括
void main()
{
int a,b[100],i;
printf(“输入总数:\n”);
scanf(“%d”和“&a”);
printf(“输入数字:\n”);
对于(i=0;i=0;i--)
{
printf(“%d\n”,b[i]);
}
}

您需要将i++替换为i--

#include<stdio.h>
void main()
{
    int a,b[100],i;
    printf("Enter the total numbers:\n");
    scanf("%d",&a);
    printf("Enter the numbers:\n");
    for(i=0;i<a;i++)
    {
        scanf("%d",&b[i]);
    }
    for(i=a-1;i>=0;i--)
    {
        printf("%d\n",b[i]);
    }
}
#包括
void main()
{
int a,b[100],i;
printf(“输入总数:\n”);
scanf(“%d”和“&a”);
printf(“输入数字:\n”);
对于(i=0;i=0;i--)
{
printf(“%d\n”,b[i]);
}
}

当您试图访问未引用的内存或越界时,会出现分段错误。如前所述,在第二个循环中将i++更改为i

当您试图访问未引用的内存或越界时,会出现分段错误。如前所述,在第二个循环中将i++更改为i

到目前为止,您已经完成了哪些调试和其他疑难解答?您还应该将
main
签名更改为,并检查
a
没有超过
b
中的元素数。您已经完成了哪些调试和其他疑难解答?您还应该将
main
签名更改为,并检查
a
不会超过
b
中的元素数。添加几行代码总是有帮助的。这可以写成注释而不是单独的答案。添加几行代码总是有帮助的。这可以写成评论,而不是单独的回答。