질문드려요.
글쓴이: dvwn / 작성시간: 수, 2020/05/27 - 3:22오전
x와 n을 입력받아 x의 n승을 계산하는 프로그램을 작성하려고 하는데요...
밑에 작성한 코드를 가지고 계산하면, "~의 0승은 ~입니다."라고 뜹니다.
왜 자꾸 입력받은 n승이 0승이라고 표현돼 출력되는 건가요?
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main(void) { int x, n, answer; answer = 1; printf("정수 x의 크기를 입력하세요. :\n"); scanf("%d", &x); printf("정수 n(승)의 크기를 입력하세요. :\n"); scanf("%d", &n); do { answer *= x; --n; } while ( n !=0 ); printf("%d의 %d승은 %d입니다.", x, n, answer); return 0; }
do
저 루프를 다 돌고 나면 n이 얼마가 될까요? --n이 계속 실행되는데 원래 입력받은 n 값은 남지 않겠죠. 제대로 표시하려면 별도의 루프 카운터를 선언하면 됩니다.
댓글 달기