電子書籍の厳選無料作品が豊富!

次のソースで質問です
#include <stdio.h>

main()
{
char x = 'X';
float ran = 42.195;

printf("%c感じてみろー!\n",x);
printf("フルマラソンは %fKm",ran);
}
なぜ42.195000kmと表示されるのか良く分かりません。
順番的にkm42.195000のような気が。
第3引数以上あるとますますわかりません。

A 回答 (6件)

 


> なぜ42.195000kmと表示されるのか良く分かりません。

入門書、リファレンス等に説明が書いてあるはずですが、読んでないのでしょうか?


> 順番的にkm42.195000のような気が。

これ↓を実行してみてください。たぶん理解できるでしょう。

printf("%d番 一浪、%d番 信条、%d番 松居\n", 1, 2, 3);


※ 実在の人物、団体とは関係ありません。
 
    • good
    • 0

No,#5です。



補足:
"フルマラソンは %fKm"の部分も勿論、引数ですよ。

複数指定したい場合はNo,#1さんが書いている通りです。

簡単にするとprintf("%f",ran); ですが、
二ヶ表示だとprintf("%f%f",ran,ran);です。
    • good
    • 0

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の値を出力せよという決まりごとです。(標準関数で定義されている)
    • good
    • 0
    • good
    • 0

> よく分からないんですがフォーマットって言うんですね。


> んで、そのフォーマットは第一引数にしか記述できないんですか?
> もし第二引数とかにも記述できるとしたら、どういう記述になりますか?

入門書、リファレンス等に説明が書いてあるはずですが、読んでないのでしょうか?

というか、No.1は読んでないんでしょうか?
自分がした質問へのコメントを読まずに(無視して)、再質問・・・理解不能です。

どなたか、こんなおバカな私にも理解できるように教えてください。ヽ(´ー`)ノ
小心者ですので、わかりやすく丁寧にお願いします。
(専門用語等はまったくわかりません)
 

この回答への補足

無視すると言うよりは分かったので更なる疑問が生まれた。その新たな疑問をするのは2人のどちらかでいいと思い、代表してNo.2に補足しました。

入門書、リファレンスを読んでも分からなかったので質問したのです。
すみません

補足日時:2003/04/16 22:35
    • good
    • 0

#1さんの補足的な説明になりますが、ご容赦ください。



>printf("%c感じてみろー!\n",x);
>printf("フルマラソンは %fKm",ran);
ですと、結果は、
「Xを感じてみろー」
「フルマラソンは 42.195000km」と表示されますね。
あなたの書かれたソースに回答があります。%のついている文字がありますね。'%c'と'%f'の部分です。
この%cの部分に変数xの値が表示されるんです。%fも同じ様に%fの位置に、変数ranの値が表示されます。

この回答への補足

よく分からないんですがフォーマットって言うんですね。
んで、そのフォーマットは第一引数にしか記述できないんですか?もし第二引数とかにも記述できるとしたら、どういう記述になりますか?

補足日時:2003/04/16 17:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!