c语言中 for(i=0;n;n=n/10,i++) 这个循环的该怎么理解?

如题所述

首先要明白for语句的执行顺序
for语句的原型是for(;;)
第一个分号之前作为初始化,只执行一次,在最前面执行。
第二个分号和第一个分号之间是条件判断,每次判断是“真”才会继续进行循环,执行顺序排在第二。
第二个分号之后的地方是循环一次之后最后执行的部分。
上面这句拆开来执行顺序就是:
第一次初始化i = 0
然后判断n是否为真 真的话就进入循环执行for语句
最后执行 n = n/10,i++

然后再判断此时的n是否为真 真的话继续执行for语句,以此类推执行。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-04
我感觉你不明白的地方就是两个分号之间n的意思
可以写成
for(i=0;n!=0;i++)
{n=n/10;
}
也就是n不等于0的时候就让i自增1次 同时进行循环内的内容让n对10取整。也就是取出n的每一位的数字。
比如n=978
循环一次n就是97再来一次就是9再来一次就是0了
就退出循环了
第2个回答  2011-01-04
和while(n)
n=n/10
是一样的,这段代码应该是判断n是几位数的功能,i是n的位数本回答被提问者采纳
第3个回答  2011-01-04
i 整数 从0 开始 每次循环递增1

n 的值是 除以10取正数部分 n的值应该在循环里面有做处理
第4个回答  2011-01-04
for循环语句应该是这种形式的吧
for(i的初值;i的取值范围;i的自加或自减)
相似回答