标题: for ( ; i>=2; i--)什么意思 [打印本页]

作者: 星际漫游者    时间: 2017-7-21 14:22
标题: for ( ; i>=2; i--)什么意思
这是for(i=2;i>0;i--)的简写吗

作者: HC6800-ES-V2.0    时间: 2017-7-22 09:13
不是那样的。
语法:for(表达式1;表达式2;表达式3)
其中:表达式1一般是赋初值的语句,你没有给出完整的程序,应该在某地有对i赋值,可以省略。
表达式2一般是条件、逻辑表达式,你给出的语句应该理解为——当i大于等于2时——的意思。不是初值为2.
表达式3一般为改变循环条件的语句,如你给的语句——i--其实就是i=i-1的意思。
作者: 星星析    时间: 2017-7-22 09:44
HC6800-ES-V2.0 发表于 2017-7-22 09:13
不是那样的。
语法:for(表达式1;表达式2;表达式3)
其中:表达式1一般是赋初值的语句,你没有给出完 ...

关于for语句,表达式1 2 3都可以省略,他省略了表达试1
作者: hzlsw1    时间: 2017-7-22 11:29
省略了i=1,不影响
作者: fffhhhh    时间: 2017-7-22 12:27
不是的,这说明i之前已经定义或者赋值了,然后进行循环
作者: mmmjjjkk    时间: 2017-7-22 14:46
没错,i初始值为2,自减,减到0,后边应该有循环之类的语句。
作者: Magatop    时间: 2017-7-22 14:47
就是说i不论是什么值,当它大于等于2的时候就递减,也就是说i会等于1
作者: liuduanqing    时间: 2017-7-22 15:56
这个 i前面定义赋值过了所以这里可以省掉
作者: 趣多多    时间: 2017-7-22 16:58
i在这句之前应该是已经被赋值了,所以这个for句里可以省略赋值那句
作者: 天涯教练    时间: 2017-7-22 17:11
前面i已经赋值了,可以省略
作者: fefen0    时间: 2017-7-22 17:57
i没有赋值,然后执行的条件。。


作者: 从零开始♀    时间: 2017-7-22 18:49
赋值语句省略,应该在for语句之前就已经赋值了
作者: 15897677561    时间: 2017-7-22 19:31
i大于等于2的时候执行循环,每执行一次i值减1,直到i小于2时退出循环
作者: 诺炎    时间: 2017-7-22 22:00
for(;i>=2;i--)==for(i=0;i>=2;i--)
作者: 诺炎    时间: 2017-7-22 22:28
错了,你看看是不是有形参如下

void xxxx(uint i)
{
   for(;i>=2;i--)
}
若是这样的话   i就是形参在其他地方的实参的值
作者: moon84523    时间: 2017-7-23 09:03
省略了初始赋值语句,应该是在别的语句里已经赋值过了,这里就省略了

作者: 小艾艾艾艾    时间: 2017-7-23 09:24
不是,这个i 的初值要自己在前面赋值,i>=2就是i 大于等于2 的意思
作者: 黄惠洪    时间: 2017-7-23 09:54
不一定。如果在for之前 i 就已经赋值了,可以写成for ( ; i>=2; i--), i 起始值不一定是2.
作者: wuhao123    时间: 2017-7-23 16:37
i从2开始,每次减一,只要大于0就执行
作者: wuhao123    时间: 2017-7-23 16:40
i先被赋值2,然后每次减一,只要大于2就执行
作者: 不在他方    时间: 2017-7-23 16:53
c语言的循环语句
作者: 不在他方    时间: 2017-7-23 16:54
其中:表达式1一般是赋初值的语句,你没有给出完整的程序,应该在某地有对i赋值,可以省略。 表达式2一般是条件、逻辑表达式,你给出的语句应该理解为——当i大于等于2时——的意思。不是初值为2. 表达式3一般为改变循环条件的语句,如你给的语句——i--其实就是i=i-1的意思。
作者: dsadasav    时间: 2017-7-23 17:12
上面的说对了
作者: 李洪恩    时间: 2017-7-23 17:53
前面应该有对i赋值的语句
作者: q1833605807    时间: 2017-8-1 08:45
不是你写的那样,是你程序上面给i赋了一个值,下面直接用,假设上面赋值i=5的话,for(i=5;i>=2;i--)的意思
作者: LLDDkevin    时间: 2017-8-1 09:21
不是的。他的意思是:如果 I>=2,那么就让I-1,然后再进行判断I
作者: 淡然若梦    时间: 2017-8-5 11:21
不是,前第一个分号没有写东西,说明前面有给i赋值
作者: Baby_a    时间: 2017-8-5 12:31
不是的,二楼说的很明白的,可以看下类似for函数语句就明白了
作者: MCU_MI    时间: 2017-8-5 14:06
不是吧,这个应该是在I小于等于2的前提下,2做自减
作者: 浮云骑士    时间: 2017-8-5 14:43
不是的这样写表示i的初始值在别的地方给出
作者: 1209476296    时间: 2017-8-5 16:45
省略了赋值过程,你可以在进入for之前给 i 赋值,for语句的三个分语句其实都可以省略的,非常灵活
作者: 凌南之枫    时间: 2017-8-5 16:46
不是  进入for循环后  直接判断 i 是否大于等于2.

如果前面有i的赋值就会执行,如果前面没有i的赋值就会报错
作者: 1160236886    时间: 2017-8-5 16:50
前面的i应该是省略了,
作者: c12630    时间: 2017-8-5 16:59
i在之前就定义了,这里可以略掉,,,
作者: lghtlms    时间: 2017-8-5 21:26
i在这句之前已经被赋值了,省略表达式1
作者: tiro    时间: 2017-8-6 11:06
hzlsw1 发表于 2017-7-22 11:29
省略了i=1,不影响

不能说省略了i=1,只是省略了赋值部分。
作者: 傲骨123    时间: 2017-8-6 11:12
不是,是省略了赋值语句
作者: 银生长恨    时间: 2017-8-6 13:45
第一个分号前省略了i 的初始化
作者: 一只小毛驴    时间: 2017-8-7 14:54
你这程序不完整,,,前面肯定有定义了i
作者: laroo    时间: 2017-8-7 15:10
i没有赋值,然后执行的条件。。





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1