- ベストアンサー
基本中の基本!?
次のソースで質問です #include <stdio.h> main() { char x = 'X'; float ran = 42.195; printf("%c感じてみろー!\n",x); printf("フルマラソンは %fKm",ran); } なぜ42.195000kmと表示されるのか良く分かりません。 順番的にkm42.195000のような気が。 第3引数以上あるとますますわかりません。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> なぜ42.195000kmと表示されるのか良く分かりません。 入門書、リファレンス等に説明が書いてあるはずですが、読んでないのでしょうか? > 順番的にkm42.195000のような気が。 これ↓を実行してみてください。たぶん理解できるでしょう。 printf("%d番 一浪、%d番 信条、%d番 松居\n", 1, 2, 3); ※ 実在の人物、団体とは関係ありません。
その他の回答 (5)
- Sam_A
- ベストアンサー率33% (6/18)
No,#5です。 補足: "フルマラソンは %fKm"の部分も勿論、引数ですよ。 複数指定したい場合はNo,#1さんが書いている通りです。 簡単にするとprintf("%f",ran); ですが、 二ヶ表示だとprintf("%f%f",ran,ran);です。
- Sam_A
- ベストアンサー率33% (6/18)
printfとはヘッダー:stdio.hで定義されている標準入出力関数の一つです。(stdとはスタンダード ioはインプットアウトプットをあらわしすなわち標準入出力) printfとは書式付きprintと言うことです。(fはformattingから来ている。) %~の所に数値(変数含む)を何~の書式で出力するというフォーマット(お決まり)があるわけです。 Cの関数は例えばabcの関数が定義してあるとしてabc(x,y,z)があるとします。x,y,zの部分が引数だということはご理解できるとおもいますが、abcをprintfだと考えればC関数の図式が見えてくると思います。 C関数の基本は インプット→加工→アウトプット です。 %fとはfloatのfですなわち浮動小数点で変数ranの値を出力せよという決まりごとです。(標準関数で定義されている)
- 2ch
- ベストアンサー率51% (64/125)
あ
> よく分からないんですがフォーマットって言うんですね。 > んで、そのフォーマットは第一引数にしか記述できないんですか? > もし第二引数とかにも記述できるとしたら、どういう記述になりますか? 入門書、リファレンス等に説明が書いてあるはずですが、読んでないのでしょうか? というか、No.1は読んでないんでしょうか? 自分がした質問へのコメントを読まずに(無視して)、再質問・・・理解不能です。 どなたか、こんなおバカな私にも理解できるように教えてください。ヽ(´ー`)ノ 小心者ですので、わかりやすく丁寧にお願いします。 (専門用語等はまったくわかりません)
- PAPA0427
- ベストアンサー率22% (559/2488)
#1さんの補足的な説明になりますが、ご容赦ください。 >printf("%c感じてみろー!\n",x); >printf("フルマラソンは %fKm",ran); ですと、結果は、 「Xを感じてみろー」 「フルマラソンは 42.195000km」と表示されますね。 あなたの書かれたソースに回答があります。%のついている文字がありますね。'%c'と'%f'の部分です。 この%cの部分に変数xの値が表示されるんです。%fも同じ様に%fの位置に、変数ranの値が表示されます。
補足
よく分からないんですがフォーマットって言うんですね。 んで、そのフォーマットは第一引数にしか記述できないんですか?もし第二引数とかにも記述できるとしたら、どういう記述になりますか?
補足
無視すると言うよりは分かったので更なる疑問が生まれた。その新たな疑問をするのは2人のどちらかでいいと思い、代表してNo.2に補足しました。 入門書、リファレンスを読んでも分からなかったので質問したのです。 すみません