社区
C++ 语言
帖子详情
关于++ ,-- ?在变量前面与后面的区别?
Alice905747457
2011-11-07 09:38:18
现在在自学C++,可是看书的时候有很多问点?现在就有点搞不太懂,请问你们谁能详细的解释下,
谢谢亲们。
唉,好烦,学习编程为什么这么难呢。
谁能帮帮我啊。
...全文
1224
17
打赏
收藏
关于++ ,-- ?在变量前面与后面的区别?
现在在自学C++,可是看书的时候有很多问点?现在就有点搞不太懂,请问你们谁能详细的解释下, 谢谢亲们。 唉,好烦,学习编程为什么这么难呢。 谁能帮帮我啊。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shongzhaoyang
2011-11-08
打赏
举报
回复
++在前,先++再计算。在后,先计算再++
petershijin
2011-11-08
打赏
举报
回复
[Quote=引用 11 楼 suizouwuya 的回复:]
引用 3 楼 sryan 的回复:
++在前和在后都是表达式 理解好表达式的值就行了
++在前 表达式的值是原值+1 并且返回自身的引用 可以当左值
++在后,表达式的值是原值,返回的是一个临时的变量,不能当左值
3楼说的就可以结贴了吧
[/Quote]
严重同意此答案。
qwer_boo
2011-11-08
打赏
举报
回复
[Quote=引用 1 楼 keiy 的回复:]
计算顺序不同,EX:
a=i++; //a=i;i=i+1; 先赋值,后++
a=++i; //i=i+1; a=i; 先++,后赋值
[/Quote]++
追求执着
2011-11-08
打赏
举报
回复
漫漫来,冰冻三尺非一日之寒!
一叶之舟
2011-11-08
打赏
举报
回复
a=i++; //a=i;i=i+1; 先赋值,后++
a=++i; //i=i+1; a=i; 先++,后赋值
apn172
2011-11-07
打赏
举报
回复
在前面参与运算之前先计算,在后面参与运算之后再计算
suizouwuya
2011-11-07
打赏
举报
回复
[Quote=引用 3 楼 sryan 的回复:]
++在前和在后都是表达式 理解好表达式的值就行了
++在前 表达式的值是原值+1 并且返回自身的引用 可以当左值
++在后,表达式的值是原值,返回的是一个临时的变量,不能当左值
[/Quote]
3楼说的就可以结贴了吧
fiveznh
2011-11-07
打赏
举报
回复
++,--前置的话,变量直接自增自减后直接使用,
如果是后置的话,同样是先运算,但暂不使用,却临时申请内存存储这个变量,效率自然没有前置的好了
cai0538
2011-11-07
打赏
举报
回复
好好看书,多多动手!
认识视界
2011-11-07
打赏
举报
回复
放在前边是先加后执行其他命令,放在后边是先执行其他命令再植执行加法
自由
2011-11-07
打赏
举报
回复
++运算符其实也是一个函数,任何类也都可以重载这个操作符
前置的形式是:
const int& operator++(int& a);
return 加后的值
后置的形式是:
const int operator++(int& a, int);
return 加前的值
代码只用作示意
zzcmx2008
2011-11-07
打赏
举报
回复
[Quote=引用 3 楼 sryan 的回复:]
++在前和在后都是表达式 理解好表达式的值就行了
++在前 表达式的值是原值+1 并且返回自身的引用 可以当左值
++在后,表达式的值是原值,返回的是一个临时的变量,不能当左值
[/Quote]
+
iamnobody
2011-11-07
打赏
举报
回复
[Quote=引用 1 楼 keiy 的回复:]
计算顺序不同,EX:
a=i++; //a=i;i=i+1; 先赋值,后++
a=++i; //i=i+1; a=i; 先++,后赋值
[/Quote]
这个。。。个人认为没有先赋值后++之说。以下是我的看法。
c++中,一个表达式可能有一个值。例如:i+1; i = 3;i * 2; fun();//fun()有返回值时。;i+=3;i++这样的表达式都有一个值。
(i++)这个表达式的值是i修改之前的值。
(++i)这个表达式的值是i修心之后的值。
JieTouLangRen
2011-11-07
打赏
举报
回复
前置比后置的效率高
碎炎
2011-11-07
打赏
举报
回复
++在前和在后都是表达式 理解好表达式的值就行了
++在前 表达式的值是原值+1 并且返回自身的引用 可以当左值
++在后,表达式的值是原值,返回的是一个临时的变量,不能当左值
mengmingtao
2011-11-07
打赏
举报
回复
放在前面就是先计算
int a,b = 0;
a = ++b;
相当于
b = b+1;
a = b;
而
a = b++;
相当于
a = b;
b = b + 1;
柯本
2011-11-07
打赏
举报
回复
计算顺序不同,EX:
a=i++; //a=i;i=i+1; 先赋值,后++
a=++i; //i=i+1; a=i; 先++,后赋值
简单C表达式的计算,看似简单,实际要求掌握的知识很多
本题要完成的是一组简单C表达的运算。所有表达式存放在文件 CExpression.txt 中,每个表达式一行。每行的长度不会超过80个字符。文件最后有一个空行表示结束。 每个表达式,只包含简单的整数
变量
和限定的一些操作符,表达式中没有常量。总共有26个可能出现在表达式中的
变量
,分别命名为 a,b,...,z。每个
变量
最多出现一次。26个
变量
的初值分别为1,2,...,26。 表达式中的操作符,包括:两个二元操作符 +, -,表示加,减运算。例如,表达式a+c-d+b(即1+3-4+2)的结果为2。 单独一个-号不能放在
变量
前面
,表示负数。 表达式中还包含两个一元运算符:
++
,--,表示加一和减一运算。它们既可以出现在一个
变量
的
前面
、也可以出现在
后面
。如果出现在
变量
前面
,则表示先对
变量
进行加一/减一运算,然后
变量
值参与表达式计算。如果出现在
变量
后面
,则表示
变量
的原值参与表达式计算,表达式计算完之后,
变量
值加一/减一。 例如,表达式 -- c + b-- 的结果为 4, 表达式计算完之后, b,c的值分别为1,2 输出格式要求:输出直接显示在屏幕上。对于每个表达式,第一行输出表达式的内容。第二行输出表达式的值,
后面
几行输出参与运算的各个
变量
的结果值。 其它说明: (1) 如果表达式中存在空格则忽略。 (2) 每个表达式独立计算,即
前面
的表达式运算结果不影响
后面
的表达式。 (3) 对于错误的输入(如有歧义的表达式,a
++
+b), 直接输出一行"expression error"即可。输入正确性校验,不作为主要评判标准(即可以给出错误答案)。但不应导致程序运行错误。 示例输入: a + b b - z a+b--+c
++
c+f--+--a f--+c--+d-
++
e
++
a
++
对应输出: Expression: a + b value = 3 a = 1 b = 2 Expression: b - z value = -24 b = 2 z = 26 Expression: a+b--+c
++
value = 6 a = 1 b = 1 c = 4 Expression: c+f--+--a value = 9 a = 0 c = 3 f = 5 Expression: f-- + c-- + d-
++
e value = 7 c = 2 d = 4 e = 6 f = 5 Expression:
++
a
++
expression error
关于C语言中的
++
与 --
1.前置和后置会对
变量
名中储存的数据进行 加1 或 减1(分别对应
++
或 --),这个是前置和后置的共同特点,但是两者都会对存储数据进行加1 或 减1 时会有两点差异,接下来我会详细介绍差异;前置是把
++
或者 -- 放在
变量
名的
前面
(可以表示为
++
a 或 --a);而后置是把
++
或 --放在
变量
名的
后面
(可以表现为a
++
或 a--)。当前置和后置同时使用时会有前置优先执行(即先进行先变后用),整个式子中会使用执行前置变化后的数据,直到该式子得到结果在执行后置的 自加1 或 自减1。
++
、--的运算
+、--是写程序中使用频率很高的运算符,但很多刚开始接触编程的同学对这方面很头疼,今天我想简单介绍一下
++
、--的使用
++
、--是
变量
自己进行运算的运算符,书写方便,不需要写赋值,因此再循环等地方为了记录运行次数等会使用。如果单独使用没有任何问题,最后结果都是
变量
进行了一次运算,
变量
的值发生了改变。但是如果在使用
++
、--的时候使用了赋值运算,则在赋值时就会因为运算符的位置不同而赋值不同。
C语言中“
++
“ “--“的使用
“
++
“ “--“被成为递增递减运算符,它们都为单目运算符,运算的对象必须为
变量
,其作用为给
变量
+1和-1;递增递减运算符在使用过程中,可以放在
变量
的
前面
也可以放在
变量
的
后面
,置于
前面
称为前缀形式,置于
后面
则称之为后缀形式但无论前缀后缀,都是在给
变量
的值+1或者-1同时应该注意在将带有递增递减的表达式进行使用或输出时遵循下面规律:...
++
、--在运算符前后的
区别
放在
变量
前面
,先对
变量
进行+1、-1,在拿
变量
的值进行运算。 放在
变量
后面
,先拿
变量
的值进行运算,在对
变量
进行+1、-1。
C++ 语言
65,208
社区成员
250,517
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章