while(i> 0)和while(i)之间有什么区别

时间:2017-10-22 20:20:43

标签: c

以下循环出现在我们的一些示例C代码中:

Venue: Unknown, loc: (0.0, 0.0), id: -1

由于while-loop在i变为0时终止,我们可以删除“> 0“,
测试为:

Venue: Waller Creek Pub House, loc: (-97.73584, 30.266438), id: 24179503

那么这种变化可能带来的后果是什么? question

1 个答案:

答案 0 :(得分:3)

这取决于i的数据类型:

while(i)表示:"循环只要i不为零&#34 ;; while(i>0)表示:"循环,只要i既不为零也不是负数"。

如果iunsigned数据类型的变量,则不能为负数,因此while(i)while(i>0)具有相同的含义。

如果isigned或浮点变量,则不是这种情况。

在你的例子中,i显然不能成为负面的......