제가 이해력이 부족한지...
질문하기 정말 힘드네요.
제 질문은 91쪽 3번 문제처럼 b를 10으로 바꿨을 때를 물어본 게 아니라
121쪽 47번 문제에서 그냥 a=0, b=5, c=0인 상태에서 while문 안의 재귀호출함수 prnt()만 삭제했을 경우에도 prnt()가 있을 때와 마찬가지로 결과값이 a=5, b=5, c=15가 나오느냐 하는 질문이었습니다.
답변하신 내용은 121쪽 47번 문제는 while문에 재귀호출함수 prnt()가 있으나 없으나 결과값은 같다는 것으로 이해하면 되는 거지요?
<질문>
121쪽 47번 문제가 단순히 재귀호출의 과정을 설명하기 위한 문제라면
프로그램을 아래와 같이 while 함수 내의 재귀호출함수 prnt()를 없애도 같은 결과가 나온다는 말인가요?
아니면 아예 다른 결과가 나오는지요? 다른 결과가 나온다면 결과값이 어떻게 되는지요?
#include
void prnt(int *a, int *b, int *c);
main( ) {
int a = 0, b = 5, c = 0;
prnt(&a, &b, &c);
printf("a=%d, b=%d, c=%d\n", a, b, c);
}
void prnt(x, y, z)
int *x, *y, *z;
{
while (*x < *y) {
++*x;
*z = *z + *x;
}
}
<답변>
안녕하세요.
121쪽 47번 문제에서 while 함수 안에 재귀함수 prnt를 없애고
b의 초기값을 91쪽 3번 문제와 같이 b=10으로 지정하면 동일한 결과가 산출됩니다.
오늘도 즐거운 하루 되세요.
안녕하세요.
예, 동일한 결과가 산출됩니다.
오늘도 즐거운 하루 되세요.
-
*2017-04-06 09:32:10
안녕하세요.
예, 동일한 결과가 산출됩니다.
오늘도 즐거운 하루 되세요.