gpt4 book ai didi

c - while(i>0) 和 while(i) 有什么区别

转载 作者:行者123 更新时间:2023-11-30 20:03:51 26 4
gpt4 key购买 nike

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

while (i > 0)
printf("We are still in the loop and counting down %d ...\n", i--);

由于 while 循环在 i 变为 0 时终止,因此我们可以删除“> 0”,
测试如下:

while (i)
printf("We are still in the loop and counting down %d ...\n", i--);

那么这样的改变可能会带来什么后果呢? question

最佳答案

这取决于i的数据类型:

while(i) 表示:“只要 i 不为零就循环”; while(i>0) 的意思是:“只要 i 既不是零也不是负数就循环”。

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

如果i是一个有符号或浮点变量,则情况并非如此。

在你的例子中,但是i显然不能变成负数......

关于c - while(i>0) 和 while(i) 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46878783/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com