フォーマット指定子について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
C復習中

フォーマット指定子について

#1

投稿記事 by C復習中 » 15年前

久々にC言語を復習中の身ですが、独習C第4版でフォーマット指定子の項目を眺めていた所
printfのフォーマット指定子で「%n」なるものを見つけました。

最初の学習時にはすっ飛ばしていた様なフォーマット修飾子が出てきたので困っております。


そこで質問
printfのフォーマット修飾子「%n」と言うのはいったい何者なんでしょうか?

私の解釈としてはprintf内で出力された桁数をある変数(又はアドレス?)に格納して
その格納された値を表示出来るようにするフォーマット修飾子なのか?と思っております。

どうか理解されている方が居りましたら教えて頂けると光栄です。

一応、独習Cよりサンプルプログラムを記載しておきます。


----- サンプルプログラム -----
#include <stdio.h>

int main(void)
{
int i;

printf("%d %f\n%n", 100, 123.23, &i);
printf("これまでの出力文字数は %d 個です", i);

return 0;
}

たかぎ

Re:フォーマット指定子について

#2

投稿記事 by たかぎ » 15年前

サンプルの通りでしょう。

%nの直前、すなわち"100 123.230000"および改行の15文字が出力されるので、iには15が格納されます。

C復習中

Re:フォーマット指定子について

#3

投稿記事 by C復習中 » 15年前

No.50811 たかぎ さん

レスありがとうございます。

質問を書いた後、色々と調べまわっていたら見つかりました。
ttp://www.mm2d.net/c/c-01.shtml

閉鎖

“C言語何でも質問掲示板” へ戻る