C-逗号操作员是什么意思



我以前声明了变量及其值,但是我以前从未在一行上这样做过。

如果我写

A, B = 0.0, 2;

这是指

A = 0 

B = 2? 

此表达式

A, B = 0.0, 2;

是逗号操作员的表达式(这是两个逗号运算符(。可以像

一样呈现
( A ), ( B = 0.0 ), ( 2 );

作为结果,变量B将获得值0.0。变量A将不变。

来自C标准(6.5.17逗号操作员(

2逗号操作员的左操作数被评估为空隙 表达;它的评估和 合适的操作数。然后评估正确的操作数;结果 具有其类型和值

因此上述表达式的值为 2,类型为 int。表达式不使用。因此,其唯一的副作用是将值0.0分配给变量B

最新更新