问题标签 [comma-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
175 浏览

c - 这个逗号在 for 循环的 *test* 部分有什么作用?

我的编译器说error: expression has no effect,这听起来很对。那么,这里将使用这两个比较中的哪一个?我的猜测是i < c被忽略了,但我想得到其他人的确认,因为我还不能运行这段代码......

0 投票
3 回答
475 浏览

c++ - `operator<<` 在 C++ 中逗号分隔值

以下语法在 OpenCV 中有效

怎么可能?哪个运算符重载了?这个表达的意义是什么?逗号运算符现在可以重载C++吗?

0 投票
6 回答
3150 浏览

c - 编译器如何知道函数调用中的逗号不是逗号运算符?

考虑函数调用(调用int sum(int, int)

编译器如何确定,函数调用sum(int, int)中使用的不是逗号运算符?

注意:我不想在函数调用中实际使用逗号运算符。我只是想知道编译器如何知道它不是逗号运算符。

0 投票
2 回答
243 浏览

c - C中“,”运算符的行为不明确

在给定的代码中,我发现以下序列,

我不明白那是什么意思。

数据元素是否接收第一个或第二个元素或其他内容?

更新:

我在某处读到这种行为是这样的,

如果我会这样写:

如果(数据 = POC_P_Status,TE_OK){ ... }

如果 TE_OK 为真,则 if 子句为真。

你是什​​么意思?

0 投票
9 回答
5789 浏览

c++ - 逗号运算符的正确用法是什么?

我看到了这段代码:

为什么要这么做?为什么不只是:

0 投票
3 回答
138 浏览

c - 为什么会有这样的C程序输出

我试图运行以下代码并遇到了一些结果。有人可以解释一下:

上面的代码将输出打印为12. 如果我尝试运行以下代码:

这将输出打印为14,但使用以下代码将输出打印为12

0 投票
2 回答
483 浏览

c++ - c ++中的逗号运算符不计算第二个表达式

我写了以下代码:

我希望它打印出来:

编译g++ -O0 test.cpp -o test.out并运行结果:

为什么省略了对 v 的调用?(这不能用于优化,因为我添加了标志-O0

0 投票
4 回答
639 浏览

c++ - 返回括号(10、20、30、40)之间的值列表?

我在Visual Studio 2012中使用C++(不是 C++/CLI)。

我不明白为什么这段代码有效,我原以为它会在编译时失败,但它甚至不会在运行时失败:

我错误地生成了这段代码,不是故意的,我在运行单元测试时注意到了这个错误。我很惊讶它有效。当我运行它时,它返回40,即列表中的最后一个数字。

有人可以解释一下这种语法的含义以及它为什么有效吗?

0 投票
2 回答
1041 浏览

c++ - 带有c ++ 11 for循环的逗号运算符

起初我想尝试是否允许这样做:

这没有用,但由于尺寸限制,我期待它。

但是,我很惊讶这也不起作用:

逗号运算符不是要在转到右侧之前解决其左侧的所有副作用吗?

0 投票
3 回答
582 浏览

c - 使用带有 printf 的双括号时出现分段错误

为什么当我将双括号printf. 即printf(( ));