为什么逗号运算符优先级比赋值运算符低?

供稿:hz-xin.com     日期:2025-01-13

逗号的优先级比赋值运算符低,所以先运算a的值是15,再运算a*4,最后运算a+15,整个表达式的值是a+15,应该是30。

逗号表达式如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14;a=(a=3*5,a*4)的值是60,其中a=(3*5,a*4)的值是60, a的值在逗号表达式里一直是15,最后被逗号表达式赋值为60,a的值最终为60。

扩展资料:

逗号表达式的要领:

(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。

(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。

(3) 逗号运算符的优先级别在所有运算符中最低。



...符的优先级:逻辑运算符、条件运算符、赋值运算符、关系运算符、算术...
这三个符号也是位运算符号,其中内优先级,&>^>|。7、第七级:&&、|| 逻辑与&&优先级大于逻辑或||。8、第八级:? :也称为条件运算符号,是C语言中唯一的一个三目运算符,结合顺序是从右往左。9、第九级:=、+=、-+、*=、\/=、%= 这些运算符也叫做赋值运算符,除此之外...

C逗号运算符 这个怎么理解
另一种认为:“a=3*5”是一个赋值表达式”,“a*4”是另一个表达式,二者用逗号相连,构成一个逗号表达式。这两者哪一个对呢?赋值运算符的优先级别高于逗号运算符, 因此应先求解a=3*5(也就是把“a=3*5”作为一个表达式)。经计算和赋值后得到a的值为15,然后求解a*4,得60。整个逗号表达式...

在c语言中“=”和“==”那个运算级别高?
=是赋值运算符,==是比较运算符,赋值运算符优先级只比逗号运算符高,比其他任何都低。

C语言运算符优先级
优先级从高到低,括号、数组操作符、结构成员操作符具有最高级,而逗号运算符的优先级最低。单目运算符、条件运算符和赋值运算符是少数右结合的,如*p++和*(p++)等价。C语言中的++和--由于右结合性,看起来像是“后置优先”,但实际上它们是右侧优先运算。算术运算符如*、\/、%的优先级高于加减,...

在C语言中,逗号运算符的优先级是最低的吗?
位或(|)"三分天下"八九十;逻辑或跟与; \/\/逻辑运算符:|| 和 && 十二和十一; \/\/注意顺序:优先级(||) 底于 优先级(&&)条件高于赋值, \/\/三目运算符优先级排到13 位只比赋值运算符和","高 逗号运算级最低! \/\/逗号运算符优先级最低 ...

恳请高手具体介绍一下C语言中符号的优先级顺序
移位运算符紧随其后。其次的关系运算符中,< <= > >=要比 == !=高一个级别,不大好理解。所有的逻辑操作符都具有不同的优先级(单目运算符出外,!和~)逻辑位操作符的"与"比"或"高,而"异或"则在它们之间。跟在其后的&&比||高。接下来的是条件运算符,赋值运算符及逗号运算符。在C语言...

在C语言中,逗号运算符的优先级最低吗?
\/\/三目运算符优先级排到 13 位只比赋值运算符和","高\/\/需要注意的是赋值运算符很多!逗号运算级最低! \/\/逗号运算符优先级最低由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于C++.但是应该能够兼容,大家可以比较一下他们的区别应该就能够很快...

计算机的数字运算符的优先级顺序是什么?
优先级排序为:算术运算符>关系运算符>赋值运算。算术运算符中,乘法运算符【*】、除法运算符【\/】、取余运算符【%】属于优先级第三级,加法运算符【+】、减法运算符【-】属于第四级。关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。其中,关系运算符【<><=>=】属于...

算术运算符,文本运算符,引用运算符和比较运算符优先级?
初级运算符( )、[ ]、->、. 高于 单目运算符 高于 算数运算符(先乘除后加减) 高于 关系运算符 高于 逻辑运算符(不包括!) 高于 条件运算符 高于 赋值运算符 高于 逗号运算符。位运算符的优先级比较分散。除了赋值运算符、条件运算符、单目运算符三类的平级运算符之间的...

C语言中逗号表达式的实用意义或者产生的原因?
对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3,为8,所以a=8。对于第二行代码,那么也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为8,但a2=3。 还有其他的如位逻辑运算符,位移...