在C语言中int i,a;执行语句i=(a=2*3,a*5),a+6;后变量i的值不是应该是12吗,为什么会是36

日期:2014-01-23 17:21:11 人气:1

在C语言中int i,a;执行语句i=(a=2*3,a*5),a+6;后变量i的值不是应该是12吗,为什么会是36

这是逗号表达式,逗号表达式的值是最后一个逗号后的表达式的值,注意,有括号: 先算 : a=2*3=6(a=2*3,a*5) 是一个逗号表达式,它的值等于 a*5 的值,即 30 ,(之前a已经等于6)(a=2*3,a*5),a+6 ,是一个逗号表达式,它的值等于 a+6 的值 ,即 30+6=36 故,最终的值是 36
    A+
热门评论