找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3561|回复: 9
打印 上一主题 下一主题
收起左侧

请问C语言应该怎么编写 加减乘除的优先级运算?

[复制链接]
跳转到指定楼层
楼主
ID:891775 发表于 2021-5-2 23:56 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1黑币
想写个可以混合运算的计算器,但是应该怎么编写加减乘除的优先级呀

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:889094 发表于 2021-5-3 01:25 来自手机 | 只看该作者
不记得是c语言还是数据结构了,优先级运算用压栈出栈最简单了
回复

使用道具 举报

板凳
ID:748096 发表于 2021-5-3 07:49 | 只看该作者
birdzhyli 发表于 2021-5-3 01:25
不记得是c语言还是数据结构了,优先级运算用压栈出栈最简单了

压榨出栈是汇编语言
回复

使用道具 举报

地板
ID:383215 发表于 2021-5-3 11:18 | 只看该作者
乘除的优先级高于加减,乘和除、加和减的优先级不太清楚就一行一行的写,硬要写成一行就用括弧括起来,括弧的优先级最高。
回复

使用道具 举报

5#
ID:891775 发表于 2021-5-3 22:05 来自手机 | 只看该作者
kmsj 发表于 2021-5-3 11:18
乘除的优先级高于加减,乘和除、加和减的优先级不太清楚就一行一行的写,硬要写成一行就用括弧括起来,括弧 ...

就是想请问一下,用c语言这个应该怎么编码呀,懂这个逻辑……但是不知道咋编
回复

使用道具 举报

6#
ID:915389 发表于 2021-5-3 22:38 | 只看该作者
这个好像是自带的优先级,主要用括号
回复

使用道具 举报

7#
ID:57657 发表于 2021-5-3 23:08 | 只看该作者
你C语言是什么设备运行的? 操作系统还是单片机?
可能涉及到二叉树、动态内存等。
回复

使用道具 举报

8#
ID:230742 发表于 2021-5-4 12:24 | 只看该作者
最好是分开写。因为/不是除法,在单片机C语言里3/2*4的结果和数学的计算结果是不同的。
我记得好像是这样的。
a=3;
b=2;
c=a/b;
c=1
结果是取商的整数,小数丢弃了。请仔细阅读书上的数据运算部分。
回复

使用道具 举报

9#
ID:891775 发表于 2021-5-4 13:01 来自手机 | 只看该作者
npn 发表于 2021-5-3 23:08
你C语言是什么设备运行的? 操作系统还是单片机?
可能涉及到二叉树、动态内存等。

我想用单片机的,在keil里面可以运行出来这种,要做实物
回复

使用道具 举报

10#
ID:891775 发表于 2021-5-4 13:02 来自手机 | 只看该作者
birdzhyli 发表于 2021-5-3 01:25
不记得是c语言还是数据结构了,优先级运算用压栈出栈最简单了

这种编来可以在keil中用吗,好像不得行唉
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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