-PR-
解決
済み

初心者なのでご勘弁を!

  • すぐに回答を!
  • 質問No.79399
  • 閲覧数54
  • ありがとう数7
  • 気になる数0
  • 回答数6
  • コメント数0

お礼率 45% (18/40)

馬鹿な質問かもしれませんが、C言語で|a+b|<=cを入力してコンパイルし、
実行しようとしてもエラーが出て実行できません。C言語では絶対値のプログラム
は存在しないのでしょうか?もし存在するなら教えてください。
通報する
  • 回答数6
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル14

ベストアンサー率 24% (612/2465)

abs(a+b)で絶対値が取れます。
お礼コメント
son_son3

お礼率 45% (18/40)

回答ありがとうございました。おかげさまで無事解決しました。
今後ともよろしくお願いします。
投稿日時 - 2001-05-23 11:20:56
-PR-
-PR-

その他の回答 (全5件)

  • 回答No.3
レベル12

ベストアンサー率 75% (398/526)

a+bの型によって、関数を使い分ける必要があります。 実数なら double fabs(double x);  math.h 整数なら long labs(long n);  stdlib.h int   abs(int n);   stdlib.h ...続きを読む
a+bの型によって、関数を使い分ける必要があります。

実数なら
double fabs(double x);  math.h

整数なら
long labs(long n);  stdlib.h
int   abs(int n);   stdlib.h
お礼コメント
son_son3

お礼率 45% (18/40)

アドバイスどうもありがとうございました。以後参考にさせて頂きます。
今後ともよろしくお願いします。
投稿日時 - 2001-05-23 11:27:54


  • 回答No.2
レベル11

ベストアンサー率 31% (81/257)

abs()は整数型なので、もし、a,b,cが実数値なら、 fabs() を使ってください。 ...続きを読む
abs()は整数型なので、もし、a,b,cが実数値なら、

fabs()

を使ってください。
お礼コメント
son_son3

お礼率 45% (18/40)

回答ありがとうございました。以後参考にさせて頂きます。
今後ともよろしくお願いします。
投稿日時 - 2001-05-23 11:24:26
  • 回答No.4
レベル11

ベストアンサー率 43% (133/306)

絶対値を求める関数 ~abs系 を使用し、先述の方々の様に用いるのが正攻法?ですが、いちいち変数の型を気にしなければならないので、私の場合は以下の様なマクロ関数を定義して使っています。 #define ABS(c) (((c)<0)?-(c):(c)) 参考まで。 ...続きを読む
絶対値を求める関数 ~abs系 を使用し、先述の方々の様に用いるのが正攻法?ですが、いちいち変数の型を気にしなければならないので、私の場合は以下の様なマクロ関数を定義して使っています。

#define ABS(c) (((c)<0)?-(c):(c))

参考まで。
お礼コメント
son_son3

お礼率 45% (18/40)

アドバイスどうもありがとうございました。以後参考にさせて頂きます。
今後ともよろしくお願いします。
投稿日時 - 2001-05-23 11:31:47
  • 回答No.5
レベル12

ベストアンサー率 75% (398/526)

もう回答の必要はないと思いますが、老婆心ながら。。。  NINJA104さんのおっしゃるように、絶対値程度のものなら、マクロを使った方が関数を使うよりも高速で手軽です。  ただ、   ABS(a++); などとしてしまうと、マクロの副作用で結果が不明(処理系によって結果が異なる)なので注意が必要です。  C++などならインライン関数があるので、こんな問題ないのですが。 ...続きを読む
もう回答の必要はないと思いますが、老婆心ながら。。。

 NINJA104さんのおっしゃるように、絶対値程度のものなら、マクロを使った方が関数を使うよりも高速で手軽です。
 ただ、
  ABS(a++);
などとしてしまうと、マクロの副作用で結果が不明(処理系によって結果が異なる)なので注意が必要です。

 C++などならインライン関数があるので、こんな問題ないのですが。
お礼コメント
son_son3

お礼率 45% (18/40)

アドバイスどうもありがとうございました。以後参考にさせて頂きます。
今後ともよろしくお願いします。
投稿日時 - 2001-05-23 11:34:35
  • 回答No.6
レベル7

ベストアンサー率 18% (4/22)

質問の内容とは関係ないのですが、 もうすこしタイトルのつけ方に気をつけたほうがいいと思います。 今回の質問ならば「絶対値を使用できません」など 質問の内容がわかりやすいものがいいと思います。 初心者というのは本文の最後にでもちょこっと書いておけばいいことですから。 偉そうなこと言ってすいません。 ...続きを読む
質問の内容とは関係ないのですが、
もうすこしタイトルのつけ方に気をつけたほうがいいと思います。

今回の質問ならば「絶対値を使用できません」など
質問の内容がわかりやすいものがいいと思います。
初心者というのは本文の最後にでもちょこっと書いておけばいいことですから。

偉そうなこと言ってすいません。
お礼コメント
son_son3

お礼率 45% (18/40)

偉そうなことだなんてとんでもないです。以後気を付けます。
投稿日時 - 2001-05-23 11:38:02
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ