는 그래서 난 전력을 계산하는 C에서이 기능을 가지고 있고, 나는 비주얼 C++ 2010기능 받고 잘못된 값
power.h을 사용하고
void power();
float get_power(float a, int n);
power.c
void power()
{
float a, r;
int n;
printf("-POWER-\n");
printf("The base: ");
scanf("%f", &a);
n = -1;
while (n < 0)
{
printf("The power: ");
scanf("%d", &n);
if (n < 0)
{
printf("Power must be equal or larger than 0!\n");
}
else
{
r = get_power(a, n);
printf("%.2f^%d = %.2f", a, n, r);
}
};
}
float get_power(float a, int n)
{
if (n == 0)
{
return 1;
}
return a * get_power(a, n-1);
}
그것을 할 수있는 가장 좋은 방법은 아니지만, 그게 아니야
내가 그것을 디버깅 할 때 값이 정확하게 스캔됩니다 (즉, 값은 함수 호출 직전까지 정확합니다). 그러나 함수를 입력하면 0이되고 n은 1074790400이되며 다음에 어떤 일이 일어날 지 추측 할 수 있습니다 ...
첫 번째 함수는 주 파일에서 호출됩니다. 진행하고, 심지어 이상하게도 ... 그것을 위해 구글 방법에
을 생각할 수 없다, 나는 하나의 파일에서 함수를 작성하고 그것을 잘 작동하지만, 확실히 두 가지
어떤 생각이 왜 작동합니다 이 일이 일어 났나요?
코드에 어떤 문제도 나타나지 않습니다. 물건을 엉망으로 만들었다면 생략 한 세부 사항이 있습니까? – Jacob
이 기능은 내 시스템에서 정상적으로 작동합니다. 입력 값은 무엇입니까? – thkala
더 이상 생략 할 세부 사항이 없으면 main()이 있고 powerinclude "power를 사용하여 처음에 포함시킨 후 power()를 호출하는 first.c가 있습니다.h " – frankie