편집 기록

편집 기록
  • 프로필 엽토군님의 편집
    날짜2019.05.31

    팩토리얼 계산에서 이상한게 발견돼서 질문합니다!


    1.

    #include <stdio.h>
    
    int main(void){
        int a,i;
    
        scanf("%d",&a);
    
        for(i=1; i<a; i++)
        {
            a = a*i;
        }
    
        printf("%d",a);
    
        return 0;
    }
    

    2.

    #include <stdio.h>
    
    int main(void){
        int a,i;
    
        scanf("%d",&a);
    
        for(i=a-1; i>0; i--)
        {
            a = a*i;
        }
    
        printf("%d",a);
    
        return 0;
    }
    

    만약 둘다 입력이 5일때
    1번 코드와 2번코드 둘다 5~1까지 곱하는거는 다를게 없는데 결과가 다르게 나옵니다
    1번코드는 -1899959296 가 나오고
    2번코드는 정상적으로 120이 나오는데 이유를 모르겠어서 질문드립니다!

  • 프로필 steampower33님의 편집
    날짜2019.05.31

    팩토리얼 계산에서 이상한게 발견되서 질문합니다!


    1.

    include

    int main(void){ int a,i;

    scanf("%d",&a);
    
    for(i=1; i<a; i++)
    {
        a = a*i;
    }
    
    printf("%d",a);
    
    return 0;
    

    }

    2.

    include

    int main(void){ int a,i;

    scanf("%d",&a);
    
    for(i=a-1; i>0; i--)
    {
        a = a*i;
    }
    
    printf("%d",a);
    
    return 0;
    

    }

    만약 둘다 입력이 5일때 1번 코드와 2번코드 둘다 5~1까지 곱하는거는 다를게 없는데 결과가 다르게 나옵니다 1번코드는 -1899959296 가 나오고 2번코드는 정상적으로 120이 나오는데 이유를 모르겠어서 질문드립니다!