循环中的++i和i++

来源:百度知道 编辑:UC知道 时间:2024/06/20 08:50:17
我看到有些程序中的for(i=1;i<=100;++i)和for(i=1;i<=100;i++)
这两个循环在实际使用中有什么区别??请举列,谢谢!!!!!!!!!!!
也就是说在for里面是一样的

在这个循环里我感觉没有不同,比如看这两个子程序运行结果是一样的:1、#include<stdio.h>
void main()
{ int i;
for(i=1;i<=100;++i)
{printf("%d,",i);
if(i%10==0)
printf("\n");}
}
2#include<stdio.h>
void main()
{ int i;
for(i=1;i<=100;++i)
{printf("%d,",i);
if(i%10==0)
printf("\n");}
}
运行结果都是输出从一到一百。
但如果i++和++i在别的地方可能是有区别的

在这种情况下没区别。

在你的例子中二者是看不出来区别的,给你举个例子好了。
#include<iostream>
using namespace std;
int main()
{
int i=j=0;
cout<<i++<<","<<++j<<endl;
cout<<i<<endl;
return 0;
}
运行结果是
0,1
1

原因在于输出i的时候是i++是首先输出原来i的值而后自加,所以还是0,++j则正好相反,先完成自加而后输出。当再次要求输出i时,显示的结果就是自加后的了,所以是1而不是0.

在这里是没有区别的,++运算符的前置和后置只有当表达式中还有其他运算符时才有区别,这里的两个++都是单独使用,所以没有区别,都是当完成一次循环体内容后将i加1

的确在该式子中没有区别,但在其他的地方有,给你举一个例子,假如i=5
m=i++;
n=++i;