ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

printfの型

2009-05-25 06:38:14 | PG(C言語)

あまり意識しない事が多いような気がするけど、C言語のprintf()では、書式文字列とそれに該当する引数の型が一致していないといけない。
%dはintを扱うので、shortやlongを渡してはいけない。
ただ、intが32bitでlongも32bitだったりすると、longを渡しても動いてしまう。また、引数1つが最低32bit(int1個分)を確保するような実行環境なら、shortやcharを渡しても動くかもしれない。

%p(アドレス表示用)の存在も意外と知られていない気がする。
%xで代用できると言えば代用できるが、上述の通り、環境によっては、引数の長さがライブラリーの想定している長さと不一致になってしまう為、おかしな値が表示される。それどころか、暴走することもあるかも(苦笑)


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« SW2ノベル『剣をつぐもの 1』 | トップ | メガテンリプレイ『ナイト・... »
最新の画像もっと見る

コメントを投稿

PG(C言語)」カテゴリの最新記事