什么" ,"在一段时间内循环?

时间:2017-05-09 03:59:02

标签: c loops syntax while-loop

我不小心输入了while(x,0)而不是while(x<0)。代码当然没有按计划工作,也没有编译错误所以我花了一个小时才发现错误。

为什么它没有出现编译错误? ,在while循环中做了什么?

2 个答案:

答案 0 :(得分:1)

while(x,0)

逗号被视为二元运算符,它将返回0,因此您的循环条件将为false。

答案 1 :(得分:1)

在C中,逗号是&#34;二进制运算符,它计算第一个操作数并丢弃结果,然后计算第二个操作数并返回该值(和类型)。&#34;

由于0为false,因此您的代码退出循环。

https://en.m.wikipedia.org/wiki/Comma_operator