c초보 거듭제곱 재귀함수 알고리즘 질문입니다 꼭좀 도와주세요..
#include
void indent(int);
double power(double, int);
int tab = 0;
double result;
double power(double x, int n)
{
indent(tab);
if (n >= 1)
printf("power(%lf,%d)\n", x, n);
++tab;
if (n == 0) return 1;
else if ((n % 2) == 0)
return power(x * x, n / 2);
else
return x * power(x * x, (n - 1) / 2);
--tab; 여기부터입니다!!!!!!!!!!!!!!!!!!!!!!!!
indent(tab);
printf("power(%lf,%d) = %lf \n",x,n,power(x,n));
return power(x,n);
}
void indent(int t)
{
int i;
for (i = 0; i < t; i++)
printf(" ");
}
int main() {
double x;
int n;
while (1) {
printf("\n >>");
scanf_s("%lf %d",&x,&n);
if (n == 0) break;
printf("%lf^%d = %lf",x,n,power(x,n));
}
}
제가 여기부터입니다라고 써놓은곳 --tab부분 부터입니다!! 늘려놓았던 탭부분을 다시 줄이는 부분인데요 저기부터 디버깅을 해보아도 컴파일러가 코드를 읽지를 않습니다 어떻게 고쳐야할까요 ㅠㅠ 제발좀도와주세요
그 위에서 return이 되는 거 아닐까요?
그 위에서 return이 되는 거 아닐까요?
소스코드는 code 태그를 쓰세요.
kldp에서 소스코드를 그냥 쓰면 들여쓰기가 다 사라집니다.
그러면 다른 분이 소스를 보기에도 불편하고, 답을 주려해도 쉽지 않아요.
소스코드는 code 태그로 감싸주셔요.
세벌 https://sebuls.blogspot.kr/
댓글 달기