-5

次の c ステートメントをコンパイルして実行すると、何が出力されますか?

if(printf("This is"))
  printf(" tricky question");

出力は
This is tricky question

4

2 に答える 2

4

printfのドキュメントは、これが起こる理由を説明しています

戻り値

正常に返されると、これらの関数は出力された文字数を返します (文字列への出力を終了するために使用される null バイトを除く)。

printf("This is")7 を返すので、if条件は成功します。

于 2013-08-19T07:14:33.567 に答える
3

printf 関数の戻り値の型は、空白を含めて印刷する文字数を返す整数です。
そのため、if 条件内の printf 関数は 7 を返します。This is
また、if 条件では、0 以外の数値は true を意味するため、else 部分は実行されません。そしてプリントマッサージtricky question

于 2013-08-19T07:14:24.600 に答える