为什么这个结果是20不是24

4. #include <stdio.h>
int main()
{
    int a;
    printf("%d\n",(a=3*5,a+4,a+5));
    return 0;

}

(a=3*5,a+4,a+5)

只有第一个a=3*5,进行了赋值运算
所以结果,就是按照最后一个
a+5 = 15 + 5 = 20

a = 3 * 5 a=15
a + 4 丢弃
a + 5 20
逗号表达式从左往右算,结果是最后一个表达式的值,因此输出的是a+5,而第一个里a=15