社区
C语言
帖子详情
for(i=0;i<5;++i)和for(i=0;i<5;i++)没区别么?
xy328
2003-08-07 11:33:25
for(i=0;i<5;++i)和for(i=0;i<5;i++)没区别么?
i++和++i可是不同啊,怎么这两句话执行的结果却一样,i的范围都是0-4?
...全文
1072
39
打赏
收藏
for(i=0;i<5;++i)和for(i=0;i<5;i++)没区别么?
for(i=0;i<5;++i)和for(i=0;i<5;i++)没区别么? i++和++i可是不同啊,怎么这两句话执行的结果却一样,i的范围都是0-4?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
39 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gernal_dn
2003-08-08
打赏
举报
回复
i++与++i作为独立的语句存在时,没有区别!
不是独立存在时才有区别:
j = i++;
j = ++i;
lw549
2003-08-08
打赏
举报
回复
++i;和i++;的区别楼上各位已经说得很清楚了。如果不清楚,建议认真看书。打好基础。
这个问题的关键在于for循环的运行顺序。
//看看下面的代码,就知道如何执行了。
for(i=0;printf("%d",i);i++)
{
printf("xxxxx");
exit(0);//如果没有这个,就是死循环了。下面的讲解认为没有这个语句。
}
//1.执行i=0;
//2.执行printf("%d",i);
//3.执行{}
//4.执行i++;这里无论你写i++还是++i,最终的结果都是i=i+1;
//5.执行printf("%d",i);
//6.同3,循环。
robertcarlos
2003-08-08
打赏
举报
回复
试一下
for(i=1,i<10,i++)
printf("%d",i);
fpr(i=1,i<10,++i)
printf("%d",i);
应该会明白了
greenspan
2003-08-08
打赏
举报
回复
有区别,但对于内置的数据类型是当你那样写的时候,会被编译器优化成没有区别了
但是对于用户自定义的,编译器就无能为力了,就有区别了
一本很有名的C++书上说的,忘记书名了
bacp
2003-08-08
打赏
举报
回复
我倒~
想知道?
去看数据算法这类的书吧
chanet
2003-08-08
打赏
举报
回复
先加与后加
ccwwbb
2003-08-08
打赏
举报
回复
在以上两条语句中没有任何区别,只有当用在赋值语句中才有区别!
jinyongzhi
2003-08-07
打赏
举报
回复
sorry
是i<5不是i<50
jinyongzhi
2003-08-07
打赏
举报
回复
for (i=0; i<5; i++)
{
fun();
}
相当于
i=0;
while(i<50)
{
fun();
i++;
}
此时i是先加还是后加都一样。
new_red
2003-08-07
打赏
举报
回复
对于你说的循环来讲,就是没有区别。
jim77
2003-08-07
打赏
举报
回复
没有效果区别。在以上情况++i优于i++。
zoco33
2003-08-07
打赏
举报
回复
i++和++i是有区别。但都是使i自加1,是表达式的值不同。。例:i=1; j=i++;//j=1,i=2
i=1; j=++i;//j=2,i=2
在for(i=0;i<5;++i)和for(i=0;i<5;i++)里两个i每次循环的值都是一样的。
wfy
2003-08-07
打赏
举报
回复
++i
i++
一前一后,只是赋值的先后
chinazcw
2003-08-07
打赏
举报
回复
在这里前缀和后缀都一样,没有区别~~~~
xulei55969com
2003-08-07
打赏
举报
回复
我认为++i就是先给i自加,而后再引用;而i++就是先引用i,然后再给自加,这是在通常情况下是这样的。但是在程序中,遇到这样的语句,他的作用是一样,没有什么区别的!你可以自己写个程序看看!
thrillers
2003-08-07
打赏
举报
回复
++i就是(i=i+1) i++是(i=t,i=i+1,t)
thrillers
2003-08-07
打赏
举报
回复
没有,对for后面的程序美影响,但是i的变化强矿不一样,++i可以看作 (i+1) i++可以看作(i=t,i+1,t)
bm1408
2003-08-07
打赏
举报
回复
当然有区别了!
你可能把I的值输出来看看!一个是先使用再加1,一个是先加一再使用!
hdqqq
2003-08-07
打赏
举报
回复
在for循环中,这两种是一样的,都是在最后执行,是独立的一句.
相当于
for(i=0;i<5;) {
//adsfadsf
i++; 或者 ++i;
}
cgsw12345
2003-08-07
打赏
举报
回复
有分别的,看看C++标准库就知道了,i++中的++ 是用++i 中的++来实现的,所以尽量用++i而不用i++.可以提高效力。
加载更多回复(19)
for(i=0;i<5;i
++
)与for(i=0;i<=5;i
++
)
区别
#include<stdio.h> int main() { int i; for(i=0;i<5;i
++
); printf("%d",i); return 0; } 输出为5. i=4时4<5成立,i
++
得5; 此时i=5<5为false,退出循环 #include<stdio.h> int main() { int i; for(i=0;i<=5;i
++
); printf("%d",i); return 0; } 输出为6. i=4时4
下面程序的运行结果是: main() { int x,i,j; for(i=1;i<=100;i
++
) { x=i;
下面程序的运行结果是: main() { int x,i,j; for(i=1;i<=100;i
++
) { x=i; if(
++
x%20) if(
++
x%30) if(
++
x%7==0) printf("%d ",x); } } A)39 81 B)42 84 C)26 68 D) 28 70 nt x,i; //定义两个整型变量dao for(i=1;i<=100;i
++
) //i从1到du101循环 { x=i; //将zhii当前循环
int a[60][250][1000]数组的遍历
int a[60][250][1000]数组的遍历 请问 下面程序有什么错误? int a[60][250][1000],i,j,k; for(k = 0; k <= 1000; k
++
) for(j = 0; j < 250; j
++
) for(i = 0; i < 60; i
++
) a[i][j][k] = 0;
C语言:for循环中i
++
与
++
i的
区别
两者在使用中无
区别
,都是最后进行i自增。
【C
++
】 for循环
今天自己写了程序,感觉跟例程一模一样,但是结果就是不对,才发现: for (int i; i < n;i
++
) { } 跟 for (int i = 0; i < n; i
++
) { } 习惯了,以前也
没
注意 int 初始化如果不赋值为0,其为随机数,越来越拉了,这不是最基本的吗╮(╯▽╰)╭ ...
C语言
70,014
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章