VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 635|回复: 9

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

[复制链接]
38_avatar_middle
online_vip 2191265529 发表于 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




上一篇:dll调用!!!!
下一篇:构造函数的高级应用

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2017-10-24 14:20:52 | 显示全部楼层
因为 for 循环最后一个表达式的目的只是为了使循环控制变量 i 进行+1操作,不关心最后一个整个表达式的值,所以用 i++ 还是用 ++i 都一样

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

38_avatar_middle
ico_lz  楼主| 2191265529 发表于 2017-10-24 14:23:57 | 显示全部楼层
Syc 发表于 2017-10-24 14:20
因为 for 循环最后一个表达式的目的只是为了使循环控制变量 i 进行+1操作,不关心最后一个整个表达式的值, ...

以老大多年的经验,能讲下++i和i++在哪些场合区分不同的值吗?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

74_avatar_middle
online_vip08 wssfcn 发表于 2017-10-24 14:30:06 | 显示全部楼层
++i  先+再赋值
i++ 先赋值再+

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

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


前几天在《实用C++》的课程中的第七课有给大家详细的讲解过,可以看看啊
http://www.cctry.com/thread-278774-1-1.html

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

07_avatar_middle
在线会员 freehawkzk 发表于 2017-10-25 06:12:01 | 显示全部楼层
指针好像也支持++操作吧?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

08_avatar_middle
在线会员 SummerGull 发表于 2017-10-26 18:37:34 | 显示全部楼层
wssfcn 发表于 2017-10-24 14:30
++i  先+再赋值
i++ 先赋值再+

一堆鸣人 在那里 讲课

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

75_avatar_middle
在线会员 besteast 发表于 2018-1-21 09:20:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

65_avatar_middle
在线会员 kodsdf 发表于 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

本版积分规则

关闭

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

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

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

GMT+8, 2018-8-17 05:50

Powered by Discuz! X3.4

© 2009-2018 cctry.com

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