VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 951|回复: 9

[求助] i++ 和++i;具体怎么用

[复制链接]
38_avatar_middle
online_vip 发表于 2017-10-24 14:11:32 | 显示全部楼层 |阅读模式
把一下代码的i++换成++i;结果都一样;

C++PrinmerPlus上介绍前缀和后缀:前缀加一后返回值;后缀是先返回一个  i   的一个副本,这个副本还是原来的值,下一个执行语句才能使用已经加了1值的i;

然而一下代码i++换不换i++结果都一样。


#include<iostream>
#include<stdlib.h>
using namespace std;

int main(){
        for (int i = 0; i <= 6; i++){
                for (int k = 0; k < i; k += 2){
                        cout << i;
                }
                cout << endl;
        }
        system("pause");
        return 0;
}

1.png




上一篇:求大神解答
下一篇:原来for语句执行不是先把内部三条语句执行完
51_avatar_middle
online_admins 发表于 2017-10-24 14:20:52 | 显示全部楼层
因为 for 循环最后一个表达式的目的只是为了使循环控制变量 i 进行+1操作,不关心最后一个整个表达式的值,所以用 i++ 还是用 ++i 都一样
38_avatar_middle
ico_lz  楼主| 发表于 2017-10-24 14:23:57 | 显示全部楼层
Syc 发表于 2017-10-24 14:20
因为 for 循环最后一个表达式的目的只是为了使循环控制变量 i 进行+1操作,不关心最后一个整个表达式的值, ...

以老大多年的经验,能讲下++i和i++在哪些场合区分不同的值吗?
74_avatar_middle
在线会员 发表于 2017-10-24 14:30:06 | 显示全部楼层
++i  先+再赋值
i++ 先赋值再+
51_avatar_middle
online_admins 发表于 2017-10-24 14:56:26 | 显示全部楼层
2191265529 发表于 2017-10-24 14:23
以老大多年的经验,能讲下++i和i++在哪些场合区分不同的值吗?


前几天在《实用C++》的课程中的第七课有给大家详细的讲解过,可以看看啊
https://www.cctry.com/thread-278774-1-1.html
07_avatar_middle
在线会员 发表于 2017-10-25 06:12:01 | 显示全部楼层
指针好像也支持++操作吧?
08_avatar_middle
在线会员 发表于 2017-10-26 18:37:34 | 显示全部楼层
wssfcn 发表于 2017-10-24 14:30
++i  先+再赋值
i++ 先赋值再+

一堆鸣人 在那里 讲课
75_avatar_middle
在线会员 发表于 2018-1-21 09:20:10 | 显示全部楼层
大范甘迪积分
65_avatar_middle
在线会员 发表于 2018-1-21 14:48:05 | 显示全部楼层
本帖最后由 kodsdf 于 2018-1-21 14:49 编辑

我觉得这种带有强烈二义性的东西,直接舍弃简写,用原始写法。

int i=4,a;
a=i++;    //a=4,i=5
int i=4,a;
a=++i;    //a=5,i=5

写成:

int i=4,a;
a=i,i=i+1;  //a=4,i=5
int i=4,a;
i=i+1,a=i;  //a=5,i=5
这样没什么不妥,不就是多打几个字吗?容易理解不出错,不反人类……
如果你头脑清晰,不怕混乱,那就当我没说好了。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-6-17 02:04

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表