2017-03-27 8 views
0

그래서 기본적으로, 나는 입력을 얻고 그것을 제곱 할 필요가있다. pow() 기능이 작동하지 않는 몇 가지 이유가 있습니다.C 파워 함수와 scanf

#include <stdio.h> 
#include <math.h> 
int main(){ 

    int in, ans; 
    scans("%d", &in); 
    ans = pow(in, 2); 
    printf("answer is: %d", ans); 
    return 0; 

} 

오류 : 당신이 수학 라이브러리에 프로그램을 링크하는 것을 잊었다 때 오류

undefined pow or something like that

+8

답변은 '정확한 오류 메시지 표시'또는 이와 비슷한 것입니다. – pm100

+0

링커 오류라고 가정합니다. 정확한 오류 메시지가없는 경우에는 말하기가 어렵습니다. 항상 'in * in'도 할 수 있습니다. –

+0

필자는 입력 값을 곱하기 (특히 정수이기 때문에)로 입력을 제곱 할 것을 강력히 권장하며, 대답은 (분명히) 정수에 맞을 것으로 예상됩니다. 'ans = in * in;' –

답변

2

이 유형이 발생합니다.
수학 라이브러리 연결 용으로 -lm을 사용하십시오.

gcc yourfilename.c -lm

난 당신이 리눅스 플랫폼에서 컴파일 생각하는 수학 라이브러리

0

를 사용합니다. 따라서 명령에 -lm 옵션을 사용하십시오.

gcc yourfile.c -lm 
0

대신 scanfscans을 사용하고 있습니다. 그것은 무엇입니까 scanf("%d",&in);

+0

맞아.하지만 그건 아마 오타 일거야. –