###前提・実現したいこと
斜方投射のプログラムを作っているのですが、以下のようなエラーが出ます。(引数が浮動小数点型の場合、整数絶対値関数 'abs'を使用する?)このエラーはどう言った意味なのでしょう。
###発生している問題・エラーメッセージ
Oblique_projection.c:55:17: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value] magnitude = abs(v); ^
###該当のソースコード
C
1#include <stdio.h> 2#include <math.h> 3#include <stdlib.h> 4#define g 9.80665 5 6int main(void) { 7 8 double DetermineX(double v0, double rad, double t); 9 double DetermineY(double v0, double rad, double t); 10 double DetermineMag(double v0, double rad); 11 12 double x, y, v0, deg, rad, t, magnitude; 13 14 printf("初速度v0 (m/s)、角度θ(°)、時間tを入力して下さい。\n"); 15 printf("v0 = "); 16 scanf("%lf", &v0); 17 18 printf("deg = "); 19 scanf("%lf", °); 20 rad = deg*(M_PI/180); 21 22 printf("t = "); 23 scanf("%lf", &t); 24 25 x = DetermineX(v0, rad, t); 26 y = DetermineY(v0, rad, t); 27 magnitude = DetermineMag(v0, rad); 28 29 printf("x=%f y=%f\n", x, y); 30 printf("magnitude=%f \n", magnitude); 31 32 return 0; 33} 34 35double DetermineX(double v0, double rad, double t) { 36 double x; 37 38 x = v0*cos(rad)*t; 39 40 return x; 41} 42double DetermineY(double v0, double rad, double t) { 43 double y; 44 45 y = v0*sin(rad)*t - (1/2)*g*t*t; 46 47 return y; 48} 49 50double DetermineMag(double v0, double rad) { 51 double magnitude, v; 52 53 v = sqrt( v0*v0*( sin(rad)*sin(rad) + cos(rad)*cos(rad) ) ); 54 magnitude = abs(v); 55 56 return magnitude; 57} 58 59
回答2件
あなたの回答
tips
プレビュー