런타임 오류-SIGSEGV

Pleotex

배열 요소를 추가하는 프로그램을 작성하고 이전 요소가 0이면 합계에서 요소를 제거해야하지만 SIGSEGV 로 런타임 오류가 발생합니다.이 오류를 어떻게 해결할 수 있습니까?

#include <stdio.h>

int main()
{
    int i,arr[10],n,sum=0;

    scanf("%d",&n);

    for(i=0;i<n;i++)
    {
        scanf("%d\n",&arr[i]);
    }

    for(i=0;i<n;i++)
    {
        sum=sum+arr[i];
    }

    for(i=0;i<n;i++)
    {
        if(arr[i]==0)
        {
            sum=sum-arr[i-1];
        }
    }

    printf("%d",sum);
    return 0;
}
프로그램

여기서 문제는 어레이의 크기입니다. 크기 10에 대해 배열을 선언했으며 사용자가 크기를 100으로 입력하면 이러한 종류의 런타임 오류가 나타납니다. 이 예외를 피하려면 사용자가 크기를 입력 한 후 배열을 선언하십시오.

     scanf("%d",&n);
     int arr[n];

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사