エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
printfとscanfでなぜフォーマットが違うのか: ふらふら日記
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
printfとscanfでなぜフォーマットが違うのか: ふらふら日記
printfのときはdoubleもfloatも%fなのにscanfは%lfと%fになるという話です. この問題を考えるとき,ま... printfのときはdoubleもfloatも%fなのにscanfは%lfと%fになるという話です. この問題を考えるとき,まず,printfやscanfがどういう関数かというのを確認しておく必要があります. つまり,これらの関数は可変引数であり,渡す引数の数や型が決まっていないということです. もうちょっと詳しく考えると,printfは,引数としてさまざまな型の数字をとり,それをフォーマットに従って表示します. 一方scanfは,さまざまな型の変数のポインタをとり,そこに,フォーマットにしたがって値を入れていきます. そもそも,関数に引数を渡すということは,値をスタックに積むということです. そして,C言語の場合はそれだけです. スタックに積んである値には型の情報もどこまでが引数かなんていう情報もありません. よって,それをどうにかして知る必要があります.それがprintfやscanfに