数字中逗号的含义

时间:2012-01-12 14:49:18

标签: c++ numbers

  

可能重复:
  C++ Comma Operator

这可能是一个微不足道的问题,但我不知道答案。这一直困扰着我今天下午。

我刚刚编写了一个将RVB转换为YUV的函数。没有什么特别的,但错误地使用逗号(,)代替我的数字中的点。

它编译但结果不是我的预期,例如“-3713796”而不是0-255范围编号。

(0,615*(double) 61) - (0,51498*(double) 61) - (0,10001*(double) 61)

那是什么意思?
如果它不是编译错误,它可能对某些东西有用,但是什么?

Ps:我在Qt上使用C ++。

2 个答案:

答案 0 :(得分:7)

您不小心使用了comma operator。它计算第一个操作数并丢弃结果,然后计算第二个操作数并返回其值和类型。

根据我的经验,它最常用于循环语句中。有关其他用途,请参阅Uses of C comma operator

答案 1 :(得分:1)

它是逗号运算符,它计算每个操作数并返回最右边的操作数。在这种情况下,它评估为0,然后是615*(double) 61并得出该产品的值。