社区
新手乐园
帖子详情
i--+--i 的值是多少?
moliu
2017-07-26 12:46:15
c++ 里:
int ia (5),ib(5);
ia = ia-- + ia--;
ib = ib-- + --ib;
-----据教程说,前者 ia = 4+ 4 =8;后者 ib = 3 + 4 = 7.
很糊涂啊, 特别是 后者。请高手讲下,谢谢。
...全文
573
9
打赏
收藏
i--+--i 的值是多少?
c++ 里: int ia (5),ib(5); ia = ia-- + ia--; ib = ib-- + --ib; -----据教程说,前者 ia = 4+ 4 =8;后者 ib = 3 + 4 = 7. 很糊涂啊, 特别是 后者。请高手讲下,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
a昊a
2017-08-15
打赏
举报
回复
首先++和--运算符优先级高于+和-然后符号在变量前,先计算后参与更低级的运算,运算符在变量后面的先用原变量值进行更低级运算,然后进行自+或自-
不懂啊不懂
2017-08-05
打赏
举报
回复
只要记得一句话,加(减)在前,先加(减); 加(减)在后,后加(减)。 完美解决!
找一缕阳光呀
2017-08-04
打赏
举报
回复
后面那个应该是减过之后在用
moliu
2017-07-26
打赏
举报
回复
匠人就是匠人!
moliu
2017-07-26
打赏
举报
回复
大师就是大师!
jena_wy
2017-07-26
打赏
举报
回复
00171435 mov eax,dword ptr [ib] 00171438 sub eax,1 0017143B mov dword ptr [ib],eax 0017143E mov ecx,dword ptr [ib] 00171441 add ecx,dword ptr [ib] 00171444 mov dword ptr [ib],ecx 00171447 mov edx,dword ptr [ib] 0017144A sub edx,1 0017144D mov dword ptr [ib],edx
赵4老师
2017-07-26
打赏
举报
回复
关于C,C++表达式求值顺序
http://blog.csdn.net/fefe82/article/details/37833767
,
http://bbs.csdn.net/topics/370153775
lunat
2017-07-26
打赏
举报
回复
序列点之间同一产量两次副作用是不符合标准的。
战在春秋
2017-07-26
打赏
举报
回复
自增自减表达式作为子表达式参加进一步运算时,整个表达式的求值顺序是
不确定的
(unspecified behavior) 对于不同的编译器会得出不同的结果。 经常在论坛看到此类问题,可能和现行教材有关系,不知道什么时候能改过来^_^。 可以参考这篇文章,讲解很详细,稍微有点长,可以直接到结尾先看结论,再回头看。
http://blog.csdn.net/dreamerway/article/details/24630299
MoreWindows白话经典算法之七大排序(高清版)
- **堆排序**:是一种树形选择排序,通过建立堆结构,不断取出最大(或最小)
值
来实现排序。 以上介绍了几种常见的排序算法及其具体实现,每种算法都有其特点和适用场景。通过学习这些算法,不仅可以提高数据处理...
[最新整理公布][汇总II]微软等数据结构+算法面试100题[第1-80题]
设dp[i]表示以第i个元素结尾的最大子数组的和,则dp[i] = max(dp[i-1]+nums[i], nums[i])。 - **代码示例**: ```cpp int maxSubArray(std::vector<int>& nums) { int dp = nums[0]; int maxSum = nums[0]; ...
C语言中i++;++i; i--; --i以及+=;-=的区别
+”号在前,被赋
值
者“看到”了i进行了“+1”操作,那么i在进行“+1”操作的同时,就要给被赋
值
者也“+1”;“+”号在后,被赋
值
者“看不到”i进行了“+1”操作,那么i就可以只给自己“+1”,不用给被赋
值
者也“+1”...
++i、i++、--i、i--详解+【例子】
它们通常用于循环或条件语句中,以及其他需要对变量进行递增或递减操作的地方。这些符号是在编程中用于增加或减少变量的
值
的操作符。
python编写程序计算1+2+3+......+100和_python_求1-2+3-4+......-100的
值
逻辑整理:-- 本质上可以转换一下,1+3+5+……+99 -(2+4+……+100)加减部分间隔都为2,先求1+3+5+……+99的
值
,再求2+4+……+100的
值
,减去结果就出来了-- 还可以如此转换 1*[(-1)**(1+1)] +2*[(-1)**(1+2)]+...
新手乐园
33,319
社区成员
41,771
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章