官网
社区
动态
专家
文章
公告
首页
问题库
资讯专栏
标签库
问答话题
问答专家
NEW
发布
提问题
发文章
C语言中算术运算符和赋值运算符哪个优先级高?
2022-11-01 11:45
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
默认分类
832
1
5
算术运算符高! 表达式优先级()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员)↑最高!(逻辑非) .(位取反) -(负号) ++(加1)
发送
看不清?
1条回答
1楼 · 2022-11-01 12:37.
采纳回答
算术运算符高! 表达式优先级()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员)↑最高!(逻辑非) .(位取反) -(负号) ++(加1) --(减1) &(变量地址) │*(指针所指内容) type(函数说明) sizeof(长度计算) │*(乘) /(除) %(取模) │+(加) -(减) │<<(位左移) >>(位右移) │<(小于) <=(小于等于) >(大于) >=(大于等于) │==(等于) !=(不等于) │&(位与) │^(位异或) │|(位或) │&&(逻辑与) │||(逻辑或) │?:(?表达式) │= += -=(联合操作) │,(逗号运算符) │最低 1. .的优先级高于*。->操作符用于消除这个问题。 *p.f变成了*(p.f)而不是(*p).f2. []高于*,于是int *ap[]中的ap变成了元素为int指针的数组。3. 函数()高于*,因此,int *fp()不再是函数指针了,而是一个函数,返回int *。4. 逗号运算符在所有运算符中优先级最低,所以,i = 1, 2就成了(i = 1), 2而不是i = (1, 2)。 逗号运算符的值是最右边操作数的值,逗号运算符结合性从左至右,因此又称为顺序求值运算符。5. 在表达式中如果有布尔操作、算术运算、位操作等混合计算,始终应该在适当的地方加上括号。 x = f() + g() * h(); 乘法先于加法执行,但是g()和h()的调用可能以任何顺序出现。同样,f()可能在乘法之前调用,也可能在乘法之后调用。 优先级和结合性规则告诉你哪些符号组成一个意群,大部分这样的意群内部如何进行计算的次序是未定义的。有些操作符,如&&和||等,其操作数的计算顺序是确定的,它们使用短路原则。 C语言中记住两个优先级就够了:乘法和除法先于加法和减法,在涉及其他操作符时一律加上括号。结合性用于在几个操作符具有相同的优先级时确定先执行哪一个。每个操作符拥有某一级别的优先级,同时也拥有左结合性或者右结合性。 所有的赋值符(包括复合赋值符)都具有右结合性(从右到左执行),因此可以使用连等的赋值形式。唯一的三目运算符?:也是具有右结合性的。 所有优先级相同的操作符,它们的结合性也相同,这是必须如此的。在函数调用中,各个参数的计算顺序是不确定的
加载中...
一周热门
更多
>
农村老家搞工业园,征收我家在村里的唯一房子和...
土地局只进行了一次罚款在第一次调查时是农业用...
有人签了我一千多块钱四年了,把微信拉黑了,手...
村里五保户后来拆迁分了一套拆迁房,现在村委会...
您好,我有个问题咨询一下,我们小区要进行小区...
自家楼房拆迁评估时木门,窗,和装修的整体厨房...
华为手机麦克风什么用?
华为手机屏幕碎了手机店可以维修吗?
华为手机耳机怎么设置在哪里
华为手机如何清理安装包
相关问题
相关文章
《昨日今晨》足球最新资讯,C罗完美融入球队,梅西刷新个人纪录
0个评论
高中数学能用大量刷题来提分吗?
0个评论
兼职赚富,真能赚钱的兼职路子(实操、全面)
0个评论
论资金盘与比特币
0个评论
“真金白银”——谈谈让你挑花眼的饰品材质
0个评论
足球报:重庆队曾想压哨引进德尔加多,但因需刷身份证最终未成行
0个评论
读书笔记策略篇(投资策略实战分析)
0个评论
刷牙恶心、干呕,可能是身体在报错!排查这几种病
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
一周热门 更多>