社区
C语言
帖子详情
简单问题:表达式的处理
loweek
2003-09-12 03:47:34
#include "iostream.h"
void mian()
{
int k=5;
k=(k++) + (k++);
cout<<k;
}
请问程序结果是什么?C++就表达式k=(k++) + (k++);的处理顺序是什么?
...全文
72
11
打赏
收藏
简单问题:表达式的处理
#include "iostream.h" void mian() { int k=5; k=(k++) + (k++); cout<<k; } 请问程序结果是什么?C++就表达式k=(k++) + (k++);的处理顺序是什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
TianGuangZao
2003-09-12
打赏
举报
回复
int k=5;
k=(k++) + (++k);
是 13。
什么时候楼主改的呀!
visio
2003-09-12
打赏
举报
回复
13
TianGuangZao
2003-09-12
打赏
举报
回复
gcc 下为 12 。
int k=5;
k=(k++) + (k++);
=> k = 5 + 5; k++; k++;
相信任何标准的 c++ 编译器都是同一个值。
watchcat
2003-09-12
打赏
举报
回复
12
legend-never-die
2003-09-12
打赏
举报
回复
怎么会是7,是13
tonybaobao
2003-09-12
打赏
举报
回复
vc里面应该是7吧!
具体看编译器的。
sakurar
2003-09-12
打赏
举报
回复
mian是什么?就是main呀。
despider
2003-09-12
打赏
举报
回复
up
wgzh
2003-09-12
打赏
举报
回复
在C++中并没有规定表达式的求值顺序,这跟具体的编译器是有关的。
l1ul1u
2003-09-12
打赏
举报
回复
3: void main()
4: {
00401010 push ebp
00401011 mov ebp,esp
00401013 sub esp,44h
00401016 push ebx
00401017 push esi
00401018 push edi
00401019 lea edi,[ebp-44h]
0040101C mov ecx,11h
00401021 mov eax,0CCCCCCCCh
00401026 rep stos dword ptr [edi]
5: int k=5;
00401028 mov dword ptr [ebp-4],5
6: k=(k++) + (++k);
0040102F mov eax,dword ptr [ebp-4]
00401032 add eax,1
00401035 mov dword ptr [ebp-4],eax
00401038 mov ecx,dword ptr [ebp-4]
0040103B add ecx,dword ptr [ebp-4]
0040103E mov dword ptr [ebp-4],ecx
00401041 mov edx,dword ptr [ebp-4]
00401044 add edx,1
00401047 mov dword ptr [ebp-4],edx
7: cout<<k;
0040104A mov eax,dword ptr [ebp-4]
0040104D push eax
0040104E mov ecx,offset cout (004289c0)
00401053 call ostream::operator<< (00401080)
8: }
这是在vc下的,汇编代码
不同的编译器结果是不一样的
loweek
2003-09-12
打赏
举报
回复
应该是:
#include "iostream.h"
void mian()
{
int k=5;
k=(k++) + (++k);
cout<<k;
}
请问程序结果是什么?C++就表达式k=(k++) + (++k);的处理顺序是什么?
数据结构----课程设计(1)
一元稀疏多项式计算器 【
问题
描述】 设计一个一元稀疏多项式
简单
计算器。
简单
LISP算术
表达式
计算器 一.
问题
分析 1:设计一个
简单
的 LISP 算术
表达式
计算器。实现LISP加法
表达式
求值计算。 2:
简单
LISP 算术
表达式
定义如下:(1)一个 0..9 的整数;(2)(运算符
表达式
表达式
)。 本课题主要是利用数据结构中堆栈部分知识进行解决,将初始
表达式
分别存入数据栈和运算符栈中进行
处理
。
Python实现
简单
的四则运算计算器
一、算法 1、算法的主要思想就是将一个中缀
表达式
(Infix expression)转换成便于
处理
的后缀
表达式
(Postfix expression),然后借助于栈这个
简单
的数据结构,计算出
表达式
的结果。 2、关于如何讲普通的
表达式
转换成后缀
表达式
,以及如何
处理
后缀
表达式
并计算出结果的具体算法描述不在此叙述了,书上有详细的说明。 二、简易计算器 使用说明 使用该计算器类的
简单
示例如下: # usage c = Calculator() print('result: {:f}'.formart(c.get_result('1.11+2.22-3.33*4.44/5.55
树的应用:
表达式
解析【python】
树的应用:
表达式
解析 可以将
表达式
表示为树结构:叶节点保存操作数,内部节点保存操作符 全括号
表达式
((7+3)(5-2)) 由于括号的存在,需要计算的话,就必须先计算7+3和5‐2,
表达式
层次决定计算的优先级 越底层的
表达式
,优先级越高 3.树中每个子树都表示一个子
表达式
:将子树替换为子
表达式
值的节点,即可实现求值 下面,我们用树结构来做如下尝试 从全括号
表达式
构建
表达式
解析树 利用
表达式
解析树对
表达式
求值 从
表达式
解析树恢复原
表达式
的字符串形式 首先,全括号
表达式
要分解为单词列
二叉树:
表达式
二叉树转换成中缀式(括弧
处理
)
文章目录
问题
描述 :输入说明 :输出说明 :输入范例 :输出范例 :思路分析代码实现事故现场第一次提交分析与总结如果不妥请留言,你的关注和回复是对我最大的鼓励,谢谢!如果想立即恢复,可以加扣扣,一起商量学习进步!!
问题
描述 : 内容:(1)请参照链表的ADT模板,设计二叉树并逐步完善的抽象数据类型。(由于该环境目前仅支持单文件的编译,故将所有内容都集中在一个源文件内。在实际的设计中,推荐将抽象类及对应的派生类分别放在单独的头文件中。参考教材、课件,以及网盘中的链表ADT原型文件,自行设计二叉树的ADT。)
C语言数据结构 3.1 :
表达式
求值
摘要:
表达式
求值是栈的一个很重要的应用,由于我没有学过c++,看不懂老师的帖子里的那一份代码,所以自己用c语言实现了一遍,主要运用的思想是将中缀
表达式
转化为逆波兰
表达式
,然后再利用栈求逆波兰
表达式
的值。 算法思路: 1.将中缀
表达式
转化为逆波兰
表达式
: 由于逆波兰
表达式
的转换是一种很经典的算法,百度上的解释比我自己解释的会更好,所以直接引用百度上的算法说明: 1、首先构造一个运算符栈,此运算符在栈内遵循越往栈顶优先级越高的原则。 2、读入一个用中缀表示的
简单
算术
表达式
。 3、从左至右扫描该算
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章