11/11/10 22:55:06.72
>>162
「K&R第二版p.189可変引数リスト」の内容そのまんま答えればOK。
第二引数移行は可変引数として一括したバイト列として取得され、
第一引数の文字列内に現れる変換仕様に従って
1変数とみなされるバイトサイズとその型ごとに切り刻まれる。
取り出された値は文字に変換され、変換仕様と置換された後、
標準ストリームに出力される。
printf("Hello!\n");は第一引数のみなので
文字列がそのまま標準ストリームに出力される。
printf("%s",str);は第一引数の変換仕様%sにより
第二引数(以降)の最初のデータは終端文字を持つ文字の配列とみなされ、
文字列に変換され%sと置換された後、標準ストリームとやらないか。
printf(str);は str が第一引数であり、変換使用をふくまないため、
そのまま文字列として標準ストリームに出力されまみた。