#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n,i,ele;
n=5;
ele=pow(n,2);
printf("%d",ele);
return 0;
}
출력은 24
입니다.컴파일러와 OS에서 n = 5 일 때 pow (n, 2)가 24를 반환하는 이유는 무엇입니까?
저는 Code :: Blocks에서 GNU/GCC를 사용하고 있습니다.
현재 무슨 일입니까?
은 내가pow
함수가
double
반환 알고 있지만
25
은 그래서 INT 타입에 맞는 왜
24
대신
25
의이 코드가 인쇄합니까?
n=4; n=6; n=3; n=2;
코드는 작동하지만 5는 작동하지 않습니다.
'float ele;'(* 이전 코드와 같이'% f' 인쇄 형식)을 사용하십시오 - 표시되는 내용은 무엇입니까? – user2864740
'float' 또는'double' 변수에서'pow'의 리턴 값을 취한 다음'int'로 타이 캐스팅 해 볼 수 있습니다. 그것이 또한'24' 또는 정답'25'을 생성하는지 확인하십시오. –
@ Don'tYouWorryChild 나중에 작동하지만, int에서 리턴 값을 취할 수없는 이유는 무엇입니까? 시험에서 조교는 "예, 당신은 힘을 되찾기 위해 int를 사용할 수 있습니다"라고 말했습니다. 그래서 ... 그는 틀 렸습니다. – exsnake