Tag: 逗号运算符

逗号运算符在C 中的行为

如果我使用逗号运算符编写代码,如下所示: int i; i = 5, i++, i++; 它会调用未定义的行为吗?

为什么这个逗号的使用在表达式中起作用但在声明中失败?

来自高级OOP语言C#和Java,最近开始在C中摸不着头脑。我觉得C有点奇怪,就像有人觉得JS一样。 所以想澄清如下: 下面给出了错误,这看起来很直观,因为即使在OOP语言中它看起来像是不正确的语法 int i=0,1,2; /* Error : expected identifier or ‘(‘ before numeric constant int i = 0, 1, 2; ^ */ 但是下面的工作令人惊讶: int i; i = 0,1,2; //works 为什么会这样? 他们保持这种行为或仅仅解析一些技术问题是否有意义?