代入式の戻り値

1998 ワード

代入式の戻り値
転載先https://blog.csdn.net/Code_Mart/article/details/53212238
付与式の戻り値は、式の左の値の参照です.
#include 
 
int main()
{
    int a = 1;
    printf("%d, %d, a = %d
"
, (a*=2), (a+=3), a); return 0; }

この例は何を出力しますか?
5,5,a=5ですか?
printfスタックは右から左にあることを忘れないでください.次のように出力されます.
8, 8, a = 8

解析:この3つの式の展開はそれぞれa=a*2である.a = a + 3; a. 右から左への実行順序によって、aの値は最終的に8になります.では、式自体の値はいくらですか?は式の左の値の参照で、つまり3つの式の値は最後に実はすべてaの値を取ります.