printf( str ) の様な書き方は、ときとしてお茶目な振る舞いをする。 puts, fputs, printf の動作の違いを確認する//********************************************************* // puts, fputs, printf の動作を確認する。 // %d や %p を使うと %% よりもひどいことになる。 //********************************************************* int main( void ) { #define trace(code) ( printf( "%s:\n\t", #code ), code, puts( "" ) ) char *str = "%%%%%%%%%%"; // '%' * 10 trace( puts( str ) ); trace( fputs( str, stdout ) ); trace( printf( "%s", str ) ); trace( printf( str ) ); return 0; #undef trace // #define trace(code) }//main 実行結果puts( str ): // ( '%' * 10 ) + '\n' %%%%%%%%%% fputs( str, stdout ): // '%' * 10 %%%%%%%%%% printf( "%s", str ): // '%' * 10 %%%%%%%%%% printf( str ): // '%' * 5 %%%%% 関連
・1行注釈(//)使用上の注意 | |
水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp
>> Amazon.co.jp 『たまゆら童子』 へ
>> 楽天ブックス 『たまゆら童子』 へ