c语言入门:逗号运算符

h=249,500;和
h=249;
500;效果相同吗?
上面的那个是一个表达式,一个语句
下面的就是两个独立的表达式了,这效果能一样?上面表达式的值按规定来说是500,下面的就分别是249和500了,为什么效果会一样

h=249,500;h被赋予的值是249
为什么h=(249,500);被赋的值是500啊?结合律应该没变才对。

逗号表达式返回的是最右边的值