2016 - 2024

感恩一路有你

以逗号分隔的正则表达式 逗号表达式的运算规则?

浏览量:1706 时间:2021-03-13 01:41:40 作者:admin

逗号表达式的运算规则?

C语言提供了一个由逗号运算符连接的公式,称为逗号表达式。逗号运算符也称为顺序求值运算符。

1. 一般形式

表达式1,表达式2从左到右依次计算每个表达式的值,“表达式n”的值就是整个逗号表达式的值。

例如,逗号表达式“a=3*5,a*4”=60的值:首先解出a=3*5,得到a=15;然后求出a*4=60,所以逗号表达式的值=60。

另一个例子是逗号表达式“(a=3*5,a*4),a 5的值是20:首先解a=3*5,得到a=15;然后解a*4=60;最后解a 5=20,所以逗号表达式的值是20。

注意:逗号不会到处出现,它们都是逗号运算符。在许多情况下,逗号仅用作分隔符。

逗号表达式的用法?

C语言提供了一个特殊的输入运算符--逗号运算符表达式1,表达式2。逗号表达式的求解过程是:先求表达式1,再求表达式2。整个逗号表达式的值是表达式2的值,例如表达式“3、5、6、8”的值是14。另一个例子是逗号表达式:“a=3*5,a*4”。赋值运算符的优先级高于逗号运算符的优先级,因此应首先求解a=3*5。经过计算和赋值,a的值是15,然后解出a*4得到60。整个逗号表达式的值是60。逗号表达式的一般形式可以扩展到表达式1、表达式2、表达式3、,。。。表达式n。它的值是表达式n的值。逗号运算符是所有运算符中的最低级别。

在C语言赋值语句中,给多个变量赋值,用逗号隔开,岂不是相当于一个逗号表达式?

我不明白。逗号表达式是声明变量的合法组合。多个有效的运算表达式用逗号分隔,而int a=1,B=2只能有一种解释,即在声明和初始化变量时,同一类型的多个变量可以用逗号分隔,写在同一类型字符之后,最后用分号结束。对于上面的声明,如果声明一个int c,那么c=(a=1,B=2)在运算之后,c=2,因为(a=1,B=2)在最右边的逗号之后取表达式的运算结果。所以,我认为C=(a=1,B=2)中的(a=1,B=2)是逗号表达式,int a=1,B=2不是逗号表达式!事实上,所谓计算机语言的“语法”只是一些书写规则。还有许多甚至是不灵活的,比如char*P和*Q。语法上说,*属于char,但不属于下面的变量。但是如果它被写成char*P和Q,那么Q就不被认为是指针。我们怎么能理解呢?否则,像char*P,W,x这样的语句将被写成两行:char*PChar,W,x

以逗号分隔的正则表达式 正则表达式匹配逗号 正则去除空格与逗号

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。