간단한 피타고라스 함수를 수행하고 있습니다 사용자가 두 개의 숫자를 입력하면 두 숫자가 모두 Hypo라는 사용자 정의 함수로 전달되고 hypo는 한 값인 C , 이것이 답입니다.사용자 정의 함수의 반환 값에 문제가 있습니다
내 스크립트는 다음과 같습니다.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int hypo(double a, double b);
int main(void)
{
double one, two;
//user inputs two variables
scanf("%lf %lf", &one, &two);
printf("Your C number is: %.2lf\n", hypo(one, two));
system("PAUSE");
return 0;
}
/*-------------------------------------------------------------------------*/
int hypo(double a, double b)
{
double c;
c = sqrt((a*a)+(b*b));
printf("Currently, A = %.2lf, and B = %.2lf, C = %.2lf\n", a, b, c);
return c;
}
내 컴퓨터에서는 끝까지 모든 방법으로 작동합니다. Return c; 어떤 이유로, Main 함수에 값 0을 리턴합니다. (필자는 오류가있는 곳을 보았습니다. 따라서 하이포 기능의 인쇄 화면을 확인하십시오.)
이 점에 대해 알고 싶습니다.
나는 synax가 잘못되었거나 아직 읽지 않은 것이 내 머리 위로 사라 졌다고 확신하지만 책을보고 YouTube 동영상을 확인한 후 1 시간이 지나면 왜 이것이 작동하지 않습니다.
편집 :
가 빠른 답변에 대한 여러분 모두 감사합니다! 나는 그것을 두 배로 변경했다. (과정에서 내 실수를 깨닫고 너무 xD) 매력처럼 작동한다. 너희들은 모든 대답하는 속도에 매우 만족 , 나는 당신이 int
를 반환 hypo
이 :) 앞으로
@PieterGeerkens을 : 물론 그것은 컴파일합니다. 'double'을'int'로 변환하는 것은 표준 변환이며, C 스타일 가변 함수는 타입 검사를 전혀 제공하지 않습니다. 여기서 가장 큰 문제는 타입 안전성을 지닌 C++에 비해'scanf'와'printf'를 사용하는 것입니다. –
나는 단지'C' 만 본다. –