|
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行注釈(//)使用上の注意 | |