C语言,逆序数问题,请求大佬看看哪里错了,编译系统提示Segmentation fault

#include<stdio.h>
int main()
{
    int i,n,temp,a[50];
    n>0&&n<=50;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
    scanf("%d",a[i]);
    }
    for(i=0;i<n/2;i++)
    {
        temp=a[i];
        a[i]=a[n-i-1];
        a[n-i-1]=temp;
    }
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
    return 0;
}

 

n>0&&n<=50;这个表示错误

要改为

if(n>0&&n<=50){

 

}

#include<stdio.h>
int main()
{
    int i,n,temp,a[50];
    scanf("%d",&n);
    if(n>0&&n<=50){
        for(i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
        for(i=0;i<n/2;i++)
        {
            temp=a[i];
            a[i]=a[n-i-1];
            a[n-i-1]=temp;
        }
        for(i=0;i<n;i++)
        {
            printf("%d ",a[i]);
        }
    }
    printf("\n");
    return 0;
}

 

scanf("%d",&a[i]);//a[i]前要取地址才行

#include<stdio.h>
int main()
{
    int i,n,temp,a[50];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
    scanf("%d",&a[i]);
    }
    for(i=0;i<n/2;i++)
    {
        temp=a[i];
        a[i]=a[n-i-1];
        a[n-i-1]=temp;
    }
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");

    return 0;
}

 

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632