我不小心输入了while(x,0)
而不是while(x<0)
。代码当然没有按计划工作,也没有编译错误所以我花了一个小时才发现错误。
为什么它没有出现编译错误? ,
在while循环中做了什么?
答案 0 :(得分:1)
while(x,0)
逗号被视为二元运算符,它将返回0,因此您的循环条件将为false。
答案 1 :(得分:1)
在C中,逗号是&#34;二进制运算符,它计算第一个操作数并丢弃结果,然后计算第二个操作数并返回该值(和类型)。&#34;
由于0为false,因此您的代码退出循环。