永发信息网

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
全部回答
  • 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 }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯