팩토리얼 프로그램이 프롬프트를 반환하지 않습니다.

팩토리얼 프로그램이 프롬프트를 반환하지 않습니다.

프로그램( factorial.c)이 실행 중이지만 Enter를 누르지 않으면 마지막 프롬프트로 돌아가지 않습니다.

#include <stdio.h>

int main()
{
  int num, i, fact = 1;

  printf("Enter a number to know its factorial: ");
  scanf("%d",&num);

  for(i=num;i>0;i--){
    fact = fact * i;
  }

  printf("Factorial of %d! = %d",num,fact);

  return 0;
}

프로그램을 컴파일하고 실행합니다.

bash-4.2$ gcc factorial.c
bash-4.2$ ./a.out
Enter a number to know its factorial: 5
Factorial of 5! = 120bash-4.2$

Enter 키를 누르면 다음과 같습니다.

bash-4.2$

답변1

printf이는 명령줄을 통한 포함과 동일한 동작입니다. 또한 동일한 C 라이브러리를 사용하여 구현됩니다. 행동에 주의하세요:

$ printf "Factorial of %d! = %d" 4 24
Factorial of 4! = 24$

다음과 같이 표시하려면 리터럴 개행 문자( \n)를 포함해야 합니다.printf

$ printf "Factorial of %d! = %d\n" 4 24
Factorial of 4! = 24
$

관련 정보