次の c ステートメントをコンパイルして実行すると、何が出力されますか?
if(printf("This is"))
printf(" tricky question");
出力は
This is tricky question
次の c ステートメントをコンパイルして実行すると、何が出力されますか?
if(printf("This is"))
printf(" tricky question");
出力は
This is tricky question
printfのドキュメントは、これが起こる理由を説明しています
戻り値
正常に返されると、これらの関数は出力された文字数を返します (文字列への出力を終了するために使用される null バイトを除く)。
printf("This is")
7 を返すので、if
条件は成功します。
printf 関数の戻り値の型は、空白を含めて印刷する文字数を返す整数です。
そのため、if 条件内の printf 関数は 7 を返します。This is
また、if 条件では、0 以外の数値は true を意味するため、else 部分は実行されません。そしてプリントマッサージtricky question