a = 3 != 2 和 (a=3)!=2 在c语言中是什么意思?

 我来答
仁昌爱娱乐
高粉答主

2020-05-17 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459867

向TA提问 私信TA
展开全部

逻辑非运算符!的优先级比赋值运算符=高,所以a=3!=2等价于a=(3!=2),3!=2这个表达式值为1(真),所以a=1。

圆括号()的优先级比逻辑非运算符!高,所以(a=3)!=2则先给a赋值3,再比较a与2,所以等价于a!=2,即3!=2,所以整个表达式为1,但a=3。

扩展资料:

每种同类型的运算符都有内部的运算符优先级,不同类型的运算符之间也有相应的优先级顺序。一个表达式中既可以包括相同类型的运算符,也可以包括不同类型的运算符或者函数。当多种运算符出现在同一个表达式中时,应该先按照不同类型运算符间的优先级进行运算。

各种运算符间的优先级为数值运算符、字符串运算符、关系运算符、逻辑运算符。可以用括号改变优先级顺序,使得括号内的运算优先于括号外的运算。对于多重括号,总是由内到外强制表达式的某些部分优先运行。括号内的运算总是最优先计算。

wanglixin1001
2012-12-29 · TA获得超过4174个赞
知道大有可为答主
回答量:1758
采纳率:80%
帮助的人:889万
展开全部
!=优先级较=高,所以a=3!=2等价于a=(3!=2),3!=2这个表达式值为1(真),所以a=1
(a=3)!=2则先给a赋值3,再比较a与2,所以等价于a!=2即3!=2,所以整个表达式为1,但a=3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
snowland
推荐于2018-02-28 · 知道合伙人软件行家
snowland
知道合伙人软件行家
采纳数:1229 获赞数:7313
多次参加C++算法类竞赛获奖。

向TA提问 私信TA
展开全部
先判断3和2的关系
3!=2为真
所以a=1;
没有返回值

先把a赋值为3
再判断a和2的关系
但是a=3
返回值是1
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
撒阵怀2
2012-12-31
知道答主
回答量:8
采纳率:0%
帮助的人:3.6万
展开全部
先判断3和2的关系
3!=2为真
所以a=1;
没有返回值

先把a赋值为3
再判断a和2的关系
但是a=3
返回值是1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式