열혈강의 연습문제 7-4의 2번문제 질문드립니다~ (result=1값을 지정하는 위치에 따른 결과값)
날놓아줘
질문 제목 : 열혈강의 c언어 연습문제 7-4의 2번문제 질문드립니다~질문 요약 :result=1값을 지정하는위치에 따른 결과값이 다른점에 대해 궁금합니다.질문 내용 :
n이라는 숫자를 넣어서 n팩토리얼을 무한반복시키는 소스인데요
//
#include stdio.h
int main(void)
{
int n, i;
int result;
for( ; ; )
{
printf(n을 입력:);
scanf(%d, &n);
for(i=1, result=1; i=n ; i++)
{
result=result*i;
}
printf(n! 은?:%d \n\n, result);
}
return 0;
}
//여기서 2번째 for문의 초기문에보시면 result=1이 있는데요 ..
제가 int result=1로 지정해주고 for문의 초기문에 있는 result=1을 지웠는데 팩토리얼 5부터 다른값이나오더군요. ;;
처음 for문의 초기문에 result=1을 지정해줬을때는 제대로된값이 나왔는데 말이죠..
int에 result=1을 지정해주나 for문의 초기문에 result=1을 지정해주나 상관없지 않나요?
왜 결과값이 다른지 궁금합니다.
아 그리고 마지막 하나 질문이 더있는데요.
위에 질문과 상관없이 1~19까지는 잘나오는데 20~33까지는 -값이나오고 34부터는 쭉 0값이 나오네요;;
뭐가 잘못된건지 복잡하네요 ㅜ
c언어 고수님들의 답변 부탁드립니다~
-
희미햬
님 덕분에 이해가 되었습니다 ! 제가아직 초짜라서요 허접한 질문을;; 여튼 정확하고 빠른 답변 감사드립니다 !!
-
소라
1. for문에서 초기화 시키면 해당 for문이 실행될 때마다 초기화 시킵니다.
하지만 int result=1;로 초기화 시키면, 딱한번 초기화 되죠
그런데
for(i=1, ; i=n; i++) 이 for문은 여러번 실행되지요 ?
첫번째 실행될때는 int result=1;로 때문에 정상적으로 출력되지만
두번째 입력하면 , 그전의 result값이 1로 변하지 않아 이상하게 출력됩니다.
2. int result;는 -21억~+21억 까지의 숫자만 정확
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2698012 | 2~9가아닌수 | 아놀드 | 2025-06-13 |
2697980 | for에 gets함수를 넣으니까 왜 반복이 안되죠 ㅜ (2) | 펴라 | 2025-06-12 |
2697952 | 2차배열과 함수문의^^; | VanilLa | 2025-06-12 |
2697924 | 다차원 배열 질문있습니다 | 두동 | 2025-06-12 |
2697893 | 정올 :: 기초다지기 a9007 배열7 (문제가 이상함 -_-) | 흰두루 | 2025-06-12 |
2697862 | Unable......... 지정된 파일을 찾을 수 없습니다!! (1) | Creator | 2025-06-11 |
2697761 | 그러니까여제말은... (2) | 새론 | 2025-06-10 |
2697737 | 정올 문제좀 풀어보신분~ | 레오 | 2025-06-10 |
2697709 | rand함수 질문좀요! (6) | 가막새 | 2025-06-10 |
2697683 | C언어 변수뒤 표시가 이해안되는게 있습니다. | 소미 | 2025-06-10 |
2697660 | 껍데기딜 만들고 난후 어느핫키 누르면 코드검색이라도 뜨고 그다음 무반응 해결좀 (2) | 움찬 | 2025-06-09 |
2697634 | c언어로 감성사전 만들기! (1) | 도란도란 | 2025-06-09 |
2697605 | 이 함수좀... | agine | 2025-06-09 |
2697574 | 배열 기본적인질문 (3) | 민트향 | 2025-06-09 |
2697549 | 배열 초기화 (4) | 나리 | 2025-06-08 |
2697465 | 수다님...^^ (2) | 가론 | 2025-06-08 |
2697432 | 서버 만드는 함수에서 궁금한게있어요~ | 파랑 | 2025-06-07 |
2697401 | 열혈강의 문제오류 (1) | 꿈 | 2025-06-07 |
2697374 | 기초적인 C언어 프로그래밍 입니다. | 얼 | 2025-06-07 |
2697341 | 좌우대칭 문제인데 Q가 입력되면 종료가 되야하는데 되지않습니다 | 무지개 | 2025-06-07 |