a = 3 != 2 和 (a=3)!=2 在c语言中是什么意思?
4个回答
展开全部
逻辑非运算符!的优先级比赋值运算符=高,所以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。
扩展资料:
每种同类型的运算符都有内部的运算符优先级,不同类型的运算符之间也有相应的优先级顺序。一个表达式中既可以包括相同类型的运算符,也可以包括不同类型的运算符或者函数。当多种运算符出现在同一个表达式中时,应该先按照不同类型运算符间的优先级进行运算。
各种运算符间的优先级为数值运算符、字符串运算符、关系运算符、逻辑运算符。可以用括号改变优先级顺序,使得括号内的运算优先于括号外的运算。对于多重括号,总是由内到外强制表达式的某些部分优先运行。括号内的运算总是最优先计算。
展开全部
!=优先级较=高,所以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
(a=3)!=2则先给a赋值3,再比较a与2,所以等价于a!=2即3!=2,所以整个表达式为1,但a=3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先判断3和2的关系
3!=2为真
所以a=1;
没有返回值
先把a赋值为3
再判断a和2的关系
但是a=3
返回值是1
3!=2为真
所以a=1;
没有返回值
先把a赋值为3
再判断a和2的关系
但是a=3
返回值是1
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先判断3和2的关系
3!=2为真
所以a=1;
没有返回值
先把a赋值为3
再判断a和2的关系
但是a=3
返回值是1
3!=2为真
所以a=1;
没有返回值
先把a赋值为3
再判断a和2的关系
但是a=3
返回值是1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询