int main()
{
int a, b, c;
a = 10;
b = 20;
c = printf("%d", a) + ++b;
printf("\n%d", c);
}
上記のプログラムの出力は 23 のようですが、それがどのように取得されるのかわかりません。誰でもそれについて考えられますか?
printf戻り値があります。これは、出力する文字の総数です。
このステートメントprintf("%d",a)は を出力します。これは、 here10の戻り値が であることを意味します。printf2
残りは簡単です:
c=printf("%d",a)+ ++b;
cの値があり2 + 20 + 1、これは23です。
printfここで、2 つの異なるステートメントに対して、出力は 2 つの異なる整数になります。printfコードが出力する最初のステートメントの10場合、このステートメントが代入ステートメントprintfに参加すると、出力する文字数、つまりここでは2として扱われます。次に、ie ( PRE-INCREMENTED ) に追加されます。したがって、出力は(2 + 21) です。出力全体は次のようになります。++b2123
10
23