while (n-- > 0) 与 while (--n >= 0)

原创 2004年05月21日 11:40:00

循环 n 次,除了最常用的 for (int i = 0; i < n; ++i) {...} 之外,还可以写 while (n-- > 0) {...} 和 while (--n >= 0) {...}。这两种写法的区别在于,如果 n 是 unsigned 类型,那么后面那种写法会导致infinite loop。今天就被这只小 bug 咬了一口:) 也怪自己偷懒,不爱写 for 循环。

你真的了解while(n--)吗?

下面这段代码我们都很熟悉 #include int main() { int n=5; while(n) { n=n-1; } printf("%d\n",n); return...
  • Love_CppAndC
  • Love_CppAndC
  • 2012年02月10日 21:34
  • 1418

do{...}while(0)的用法

do{...}while(0) 的妙用 1.导引: 第一次见到 do{...}while(0)是在学习libevent的时候,看到里面有很多类似 #define TT_URI(want) do { ...
  • majianfei1023
  • majianfei1023
  • 2015年04月24日 16:26
  • 7640

n&(n-1)的妙用(强大的位运算)

n&(n-1)的妙用(位运算的强大)
  • u012965373
  • u012965373
  • 2016年01月27日 11:15
  • 1793

while (n-- > 0) 与 while (--n >= 0)

循环 n 次,除了最常用的 for (int i = 0; i 之外,还可以写 while (n-- > 0) {...} 和 while (--n >= 0) {...}。这两种写法的区别在于,如果...
  • techweb
  • techweb
  • 2007年12月28日 05:49
  • 238

do{}while(0)的意义

csdns FAQ:一直以为Linux里面,那些do{}while(0)只是为了程序的源代码看起来比较好看而已  今天听说他是有特殊作用的,在线请教,是什么作用?  -----------------...
  • chenhu_doc
  • chenhu_doc
  • 2006年06月30日 16:35
  • 19877

从while(n!=0)说什么是真

仍旧是先看两端代码: first: #include int n=5; void main() { while(n!=0) { printf("%d\n",n--); ...
  • qq_14936041
  • qq_14936041
  • 2016年10月28日 12:36
  • 951

递归与while循环实现求n!

#include #include //递归实现 int diGui(int n) { if(n0?n*diGui(n-1):1; } //非递归,while循环实现 int While(in...
  • u012110719
  • u012110719
  • 2015年04月07日 15:10
  • 1654

while(scanf("%d",&n),n)的意思及由来

在做ACM的题目时,若题目有要求输入数据有多组,C语言是用while(scanf("%d",&n)!=EOF),java语句是while(scanner.hasNext()),意思为接下去有输入就继续...
  • king0406
  • king0406
  • 2015年03月14日 17:01
  • 3035

关于while(t--)和while(--t)

在循环字符串时候经常用到这两个循环结构,我一直没搞明白,今天在循环字符串时候遇到了这个问题就在此写下来做个笔记,希望自己以后能够记住区别,灵活运用,简单的代码写出区别.int t = 3; while...
  • sunlanchang
  • sunlanchang
  • 2017年02月19日 10:47
  • 1279

shell浅谈之三for、while、until循环

一、简介        Shell各种判断结构和运算符的用法是shell编程的基础,了解shell的判断、运算符和一些退出状态对后面的学习有很重要的影响。shell有一个内部命令test经常用于...
  • taiyang1987912
  • taiyang1987912
  • 2014年09月01日 16:14
  • 93771
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:while (n-- > 0) 与 while (--n >= 0)
举报原因:
原因补充:

(最多只允许输入30个字)