C언어 팩토리얼 포인터 변수로 해결하기

조회수 1284회
#define _CRT_SECURE_NO_WARNIGS
#include<stdio.h>

void factorial(int* a);

int main() {
    int n;
    scanf("%d", &n);

    factorial(&n);

    printf("%d\n", n);
    return 0;
}

void factorial(int *a) {
    for (int i = 1; i <= *a; i++) 
        *a *= i;
}

정수 n값을 입력받아서 그 값을 바로 factorial 함수로 넘겨서 n! 연산 후 바로 출력하고 했는데 안되는 이유를 잘 모르겠네요 ! 제 지식이 너무 얕나봅니다 ㅠㅠ

오류 : scanf의 반환값이 무시되었다고 나오네요 !

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 혹시 무한순환에 들어가지 않는지요??? *a *= i;의 결과를 다른 변수에 보관해야 합니다 알 수 없는 사용자 2020.1.21 23:49
  • 정말 바보같은 짓을 하고 있었네요 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ부끄럽네요,, 감사합니다 ! 알 수 없는 사용자 2020.1.22 01:00

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)