社区
新手乐园
帖子详情
for(i=0;i<3;++i)和for(i=0;i<3;i++)输出的i值怎么没区别?脑子有点乱了。
ln6twf
2009-06-22 05:15:05
在我的理解前面的输出值是:1,2。
后面是:0,1,2.
但实际值都是:0,1,2.
乱了,有点乱。
...全文
1621
91
打赏
收藏
for(i=0;i<3;++i)和for(i=0;i<3;i++)输出的i值怎么没区别?脑子有点乱了。
在我的理解前面的输出值是:1,2。 后面是:0,1,2. 但实际值都是:0,1,2. 乱了,有点乱。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
91 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fiveyes
2009-08-03
打赏
举报
回复
#include <iostream.h>
int main()
{
int k=0;
for(int i=0;i<3;k=(i++)*2) //换成++i,就会看到区别了
cout << k << endl;
return 0;
}
cmf41013
2009-08-01
打赏
举报
回复
没有认真看书
密斯刘
2009-08-01
打赏
举报
回复
一样的结果 for循环我一般都是写i++的
zhoutt1989
2009-08-01
打赏
举报
回复
[Quote=引用 3 楼 arong1234 的回复:]
为什么前面会是12?进循环首先执行第一个子句,然后执行中间子句,然后执行循环体,然后再执行++i,根本不会出现你所谓的++i/i++会影响整个循环的问题,++i/i++的顺序问题只影响for的第三个子句,不影响整个循环
[/Quote]
同意
「已注销」
2009-07-31
打赏
举报
回复
012 012
Lawrencewt
2009-07-30
打赏
举报
回复
for的执行过程
1:i=0
2:判断i <3,为真转3,为假转6
3:循环体...
4:i=i+1;
5:转2
6:出循环...
正解.........................................................................
王夸父
2009-07-27
打赏
举报
回复
因为你的printf("%d",i);是在++i;前面执行的for(i=0;i<3;++i)的执行顺序是i=0;然后判断i<3;满足则执行{。。。。}里面的语句,最后执行++i;故你的输出结果和i++的结果一样。
Cloud__Apex
2009-07-27
打赏
举报
回复
++i 和 i++ 要明白是什么意思啊 ,循环里面的 ++i 和 i++ 其结果都是 多加了1而已
shark1682003
2009-07-27
打赏
举报
回复
赞成四楼的回答,应该明白for循环的执行顺序
chjsatan
2009-07-27
打赏
举报
回复
不显示删除回复显示所有回复显示星级回复显示得分回复 for(i=0;i<3;++i)和for(i=0;i<3;i++)中的++i和i++只是i变量什么时候用到的问题而已 ++i的是这个式子的变量先用 在相加 i++的是i的先用在相加改变了i++的值
i=0,++i;的时候++i先把值传给前面的变量再i加1的 所以式子的值是0而i是1
而i=0,i++;中 i是先加1在把值传给式子i++,所以式子是1而式子是1
似乎是这么回事的 好久没有接触这个东西了 祝你愉快
amossavez
2009-07-26
打赏
举报
回复
是选执行循环体,在执行第三个子句的!没区别
xixuer_20070803
2009-07-26
打赏
举报
回复
一点区别都没;
这是他们单独作为一个语句,得到的结果每次一样,对循环没有任何影响 ;
如果是把他们的结果赋值的话会有差一个的区别,应用不在这里
neverfailor
2009-07-25
打赏
举报
回复
单独使用的话
++i和i++是没有区别的!
十八道胡同
2009-07-25
打赏
举报
回复
对于单个句子
i++;++i;是没有区别的
有区别的在于
b=i++;
b=++i;这种的
stuqbx
2009-07-24
打赏
举报
回复
不好意思写错了!
第一次循环执行完输出0 第二次输出1 第三次输出2
stuqbx
2009-07-24
打赏
举报
回复
for(i=0;i <3;
/*1.先执行这两句*/
++i
/*3.最后在执行这句*/
)
{
cout < <i < <endl;
/*2.再执行这句*/
}
//第一次循环执行完输出0 第二次输出2 第三次输出3
同理,
for(i=0;i <3;
/*1.先执行这两句*/
i++
/*3.最后在执行这句*/
)
{
cout < <i < <endl;
/*2.再执行这句*/
}
//第一次循环执行完输出0 第二次输出2 第三次输出3
stuqbx
2009-07-24
打赏
举报
回复
for(i=0;i <3;
/*1.先执行这两句*/
++i
/*3.最后在执行这句*/
)
{
cout < <i < <endl;
/*2.再执行这句*/
}
//第一次循环执行完输出0 第二次输出2 第三次输出3
同理,
for(i=0;i <3;
/*1.先执行这两句*/
i++
/*3.最后在执行这句*/
)
{
cout < <i < <endl;
/*2.再执行这句*/
}
//第一次循环执行完输出0 第二次输出2 第三次输出3
kellyschurz
2009-07-24
打赏
举报
回复
15楼是正确的!
Angleyuhj
2009-07-23
打赏
举报
回复
输出时机的问题……
jackyloncoln
2009-07-23
打赏
举报
回复
for(i=0;i <3;i++)
{
cout < <i < <endl;
}
for(i=0;i <3;)
{
cout < <i < <endl;
i++;
}
上面两个for语句的输出是一样的。
加载更多回复(71)
(int a[][]) //
输出
数组方法 { for(int i=0;i
++) { for(int j=0;j
++)
public class xiti5_6 { public static void Printf(int a[][]) //
输出
数组方法 ... for(int i=0;i<a.length;i
++
) { for(int j=0;j<a[0].length;j
++
) { System.out.print(a[i][j]+" "); //if(j==a[0].l
【C语言】
输出
菱形星号图案
#include int main() ...i<=6;i
++
) { for(j=0;j<=5-i;j
++
) printf(" "); for(k=0;k<=2*i;k
++
) printf("*"); printf("\n"); } for(i=0;i<=5;i
++
) { for(j=0;j<=i;j
++
) p
求一个3*3的整形矩阵对角线元素之和
#include #include int main(){ int a[3][3]; int i,j;... int sum=0;... for(i=0;i for(j=0;j scanf("%d",&a[i][j]); } for(i=0;i for(j=0;j if((i==j)||(i+j==2))
c语言循环
输出
的答案多一轮,C语言循环习题答案
选择题1.for(i=0;i<10;i
++
);结束后,i的
值
是;(10)A 9 B 10 C 11 D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k
++
;}A. 5 B 6 C 4 D 死循环,不能确定循环次数...
第四次作业
求一个n×n的整形矩阵从左上角至右下角的对角线元素之和 ... for(int i=0;i<3;i
++
) { sum=sum+a[i][i]; } printf("%d",sum); return 0; } 用选择法(选择排序)对10个整数从小到大排序,并按...
新手乐园
33,321
社区成员
41,774
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章