for循环的累加条件I++ 和 ++I有什么区别
9个回答
展开全部
i++是先进行一次循环,在进行累加;++i是i先进行一次累加,再循环。
两个对于循环的次数都是没影响的,都是5次,都是当 i 小于5 不成立的时候跳出循环,但后面的 i 还是会递增1的。
两者不同的地方在于++i 占用的空间比 i++ 要小,i++是多定义一个变量的。看看运算符重载可以知道是怎么回事。
在for循环中,如for(i=0;i<5;i++)与for(i=0;i<5;++i)在for循环的次数上没有区别,都是五次,因为i++和++i都是在for循环内的语句执行后才执行!
展开全部
循环变量++i 和 i++对for循环而言是等效的。例如
int i;
for( i=0; i<100; i++) {
/* 循环体 */
}
for( i=0; i<100; ++i) {
/* 循环体 */
}
这两个循环的循环体都被执行了100次;循环结束时,i 的值都等于100。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(int i=0;i<10;i++)
for(int i=0;i<10;++i)
这样没有区别。
int i=1;
int a = i++;
int a = ++i;
这时才有区别
第一个a是1
第二个a是2
for(int i=0;i<10;++i)
这样没有区别。
int i=1;
int a = i++;
int a = ++i;
这时才有区别
第一个a是1
第二个a是2
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般来说,二者之间没有区别,这是对ANSI C来说的,因为ANSI C没有规定二者的实现方法。也有人说有区别,这是针对某个C语言的具体实现而言的,这些人认为++I,比I++效率更高。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你问的问题的答案肯定是没有区别,
你看看下面四个例子就懂了
for (a = 1; a < 3 ; a++);
printf("%d\n",a);
输出的结果是3
for (a = 1; a < 3 ; ++a);
printf("%d\n",a);
输出的结果是3
for (a = 1; a < 3 ; a++)
printf("%d\n",a);
输出的结果是2
for (a = 1; a < 3 ; ++a)
printf("%d\n",a);
输出的结果是2
你看看下面四个例子就懂了
for (a = 1; a < 3 ; a++);
printf("%d\n",a);
输出的结果是3
for (a = 1; a < 3 ; ++a);
printf("%d\n",a);
输出的结果是3
for (a = 1; a < 3 ; a++)
printf("%d\n",a);
输出的结果是2
for (a = 1; a < 3 ; ++a)
printf("%d\n",a);
输出的结果是2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询