C言語なら俺に聞け(入門篇) Part 43at TECH
C言語なら俺に聞け(入門篇) Part 43 - 暇つぶし2ch33:デフォルトの名無しさん
09/01/25 05:16:05
>>27
cに代入した値は、何か別の場所で使ってる?

34:デフォルトの名無しさん
09/01/25 07:55:48
ヘッダーファイルをインクルードせずにコンパイルおよび実行できてしまったのですが
これは何でですか?

具体的には
int main(void)
{
printf("%f\n", sqrt(3));

return 0;
}
です。
stdio.h math.h をインクルードしないとエラーが出ると思ったのですが・・・

環境は cygwin gcc 3.4.4です。
コンパイルオプションなどは特に設定してません。

35:デフォルトの名無しさん
09/01/25 08:27:22
どのエラーを期待してるのかわからないが、-Wall をつければ
いくつか警告がでるはず。

一般的に必須なのは math.h
sqrt() の返り値が double であると宣言する必要がある。

ただし、gccはprintfのフォーマット演算子の解析しているので、
"%f"から double を類推できて、問題なく動いているのだと思う。

36:34
09/01/25 09:14:06
>>35
数年の記憶ではエラーが出たような気がして。

-Wall試してみました。警告出てきました。
ですが、エラーにならないならインクルードする必要がないってことになってしまいませんか?
それとも、このエラーにならないってのはgccの仕様であって、
C89やC99では認められてなかったりするのでしょうか?


37:デフォルトの名無しさん
09/01/25 09:15:15
数年前の記憶では
です。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch