c++中 i 是变量 那么 ++i 和 i++有什么不同
答案:6 悬赏:60 手机版
解决时间 2022-01-01 08:57
- 提问者网友:蓝琪梦莎
- 2021-12-31 20:24
c++中 i 是变量 那么 ++i 和 i++有什么不同
最佳答案
- 五星知识达人网友:摆渡翁
- 2021-12-31 21:36
++i为前置自增,i++为后置自增,前者i先加1再参加其他运算,后者i先参加其他运算再加1,如果单独一条语句i++;或++i;两者运行效果相同,比如
for(int i=0; i<10; i++)和for(int i=0; i<10; ++i)实现的功能一样,在比如
int i = 0, j;
j = i++;
运行结果为i为1,但是j为0
int i = 0, j;
j = ++i;
运行结果为i为1,但是j为1
for(int i=0; i<10; i++)和for(int i=0; i<10; ++i)实现的功能一样,在比如
int i = 0, j;
j = i++;
运行结果为i为1,但是j为0
int i = 0, j;
j = ++i;
运行结果为i为1,但是j为1
全部回答
- 1楼网友:酒醒三更
- 2022-01-01 02:18
一个返回值是i+1,一个返回值是i
比如,假设i=2
1+(i++)=2; 1+(++i)=3;
运行完后i都是3
- 2楼网友:怀裏藏嬌
- 2022-01-01 01:28
楼上的说法不对,建议看看书,i++和++i的区别。同样是把i+1,i++返回的是+1前的值,++i返回的是+1后的值 当i=3时,执行i++后,i变成了4,但i++返回值是3,因此满足条件,循环继续。 当i=4时,执行i++后,i变成了5,而i++返回值是4,跳出循环。 所以最后i是5
- 3楼网友:洒脱疯子
- 2022-01-01 00:42
什么都可能是,
如果是int i;
int a为结果
那么++i:i = i + 1;a = i;
i++:a = i;i = i + 1;
- 4楼网友:归鹤鸣
- 2021-12-31 23:52
++i是i的值先自身加1再参与运算,i++是i的值先参与运算再自身加1。
比如:int i=0,j;
j=i++;
运算结果:j=0,i=1
int i=0,j;
j=++i;
运算结果:j=1,i=1
- 5楼网友:舍身薄凉客
- 2021-12-31 23:15
++i 先加加再运算 //你也可以理解为,先加加,再参与逻辑运算
i++ 是先参与运算再加加//你也可以理解为 先参与逻辑运算,再加加
#include //例子一
int main()
{
int i=0,j=0;
int x;
x= ++i+j++;
printf("%d\n",x);//output 1
}
#include //例子二
int foo()
{
int i=0;
return ++i;
}
int add()
{
int i=0;
return i++;
}
int main()
{
printf("%d\n",foo());//output 1
printf("%d\n",add());//output 0
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯