ここから本文です

C言語のコンパイラについて。

bik********さん

2011/5/1021:35:44

C言語のコンパイラについて。

こんにちは。大学でC言語を勉強しているものです。といっても、まだかなりの初期段階なのですが・・・。
家でも予習を兼ねて、参考書や先生が作ってくださった資料を使っているのですが、コンパイラを使ってテキストドキュメントで作ったものをコンパイルすると、「scanfが古い形式で宣言されました。」などと表示されることがあるのですが、プログラムは問題なく動きます。
これはどういうことなのでしょうか?どこかプログラムが間違っているのでしょうか?
ちなみにコンパイラはMicrosoft.NET Framework v2.0です。

閲覧数:
582
回答数:
1

違反報告

ベストアンサーに選ばれた回答

ogd********さん

編集あり2011/5/1021:53:50

scanf()等には、メモリを破壊する危険性があります。
だから、一般のプログラミングでは滅多に使われませんが、
便利なので「入門書」等では必ず出てきます。

MSでは新たにscanf_sという関数を提供し
こちらを使うよう勧めています。

scanf_sという新しい関数があるよという意味で

>「scanfが古い形式で宣言されました。」

だと思います。

scanfは危険なのですが、入門編等で多数使われる都合上
いきなり廃止するわけにも参りません。

そこで、「新しい関数へ乗り換えろ」と警告を出したうえで
古いscanfでも動くようにしています。

苦肉の策ですね(笑)

質問した人からのコメント

2011/5/10 22:18:18

感謝 そういう意味だったんですね。。いち早い回答有難うございます。
これでスッキリしました。
今後、また力をお借りすることが多々あると思いますが、よろしくお願いします(mm)

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる