関数の宣言

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ぎゃらくし

関数の宣言

#1

投稿記事 by ぎゃらくし » 14年前

下記のような関数宣言をしたところ、次のようなエラーが出ました。
どなたか、その意味と対策を教えて下さい

double Distance ((double a),(double b),(double c),(double d)){
double k;
k=sqrt( (a-b)^(2.0)+(c-d)^(2.0) );
return k;
}


Error E2293 07.c 11: ) expected

ぬっち
記事: 105
登録日時: 14年前
連絡を取る:

Re: 関数の宣言

#2

投稿記事 by ぬっち » 14年前

^が入っていますが、これは2乗のつもりでしょうか?
^はC言語ではxor演算子です。

2乗したいのなら素直に、a*aのようにするべきです。

box
記事: 2002
登録日時: 14年前

Re: 関数の宣言

#3

投稿記事 by box » 14年前

ついでに言っておくと、
kなんていう中間的な変数や、引数を囲むよけいなカッコはいらなくって、単純に

コード:

double Distance(double a, double b, double c, double d)
{
    return sqrt((a - b) * (a - b) + (c - d) * (c - d));
}
でじゅうぶんかと。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
bitter_fox
記事: 607
登録日時: 14年前
住所: 大阪府

Re: 関数の宣言

#4

投稿記事 by bitter_fox » 14年前

ぎゃらくし さんが書きました:double Distance ((double a),(double b),(double c),(double d)){
double k;
k=sqrt( (a-b)^(2.0)+(c-d)^(2.0) );
return k;
}
Error E2293 07.c 11: ) expected
ぬっちさんが書いてらっしゃるように、演算子^はXOR演算を示します。
また、
Distance((double a), ...)
といったように、引数に括弧を使って宣言するのは、不正です。
以下のようにしてください。
double Distance(double a, double b, double c, double d)
[hr][追記]
boxさんとかぶりましたね。。。
[追記]
エラーの意味が抜けていましたね。

コード:

Error          :エラー
E2293          :エラー番号2293
07.c           :07.cというファイルの
11             :11行目で
) expected     :)が予期されました。

naohiro19
記事: 256
登録日時: 14年前
住所: 愛知県

Re: 関数の宣言

#5

投稿記事 by naohiro19 » 14年前

math.hにあるpow関数を使うのも手です。

閉鎖

“C言語何でも質問掲示板” へ戻る