사용자로 부터 N 값을 입력 받고 1 부터 N 까지의 곱을 출력한다.
#include <stdio.h> int main() { int N = 0; int result = 1; int i; printf("숫자를 입력해주세요. "); scanf_s("%d", &N); for (i = 2; i <= N; i++) result *= i; printf("결과는 %d 입니다. \n", result); return 0; }
씹어먹는c언어에 댓글에 이거있던데 궁금한게있어서 가져옴
int N=0; =0빼도 작동되던데 왜넣는건지
for (i = 2; i <= N; i++) result *= i; i=2에서 왜 2가들어가는지
실행하고 0넣어도 1나오던데 0나오게하려면 어떻게해야하는지
위에꺼는 그냥 초기화 하라고 배웠고 위에서 result 1로 초기화 했잖아
i = 2 부터 들어가는건 1*1은 1이라서 필요없어서 그런거 아님?
ㄳ
int N=0; 이건 그냥 초기화 해준거임 없어도 상관 없는게 맞음
i=2 가 들어가는 이유는 문제를 잘 보면 알 수 있음
1 ~N 까지 수의 곱이라 2부터 시작하면 됨 1 은 곱해도 변화가 없으니까
0 나오게 할려면 코드를 수정해야함 1~ N 까지 곱이라서 코드에서 1 보다 작은 값에 대한 처리가 없음
ㄳ
1곱해도 의미없음