您好、欢迎来到现金彩票网!
当前位置:秒速牛牛 > 条件运算符 >

C语言?:三目运算符用法问题。

发布时间:2019-06-25 10:26 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部不带括号,实际上是这样的效果(,优先级略低,一般都是最后执行咯)。

  也就是说,不带括号,你temp=n成立时候,m++总是会执行两次,当然对于tempn是没问题的。

  然后,你如果想写的高大上,简单点又正确,可以只加后面一个括号。即下面的方式。

  展开全部三目运算符为a?b:c即有三个参与运算的量。由条件运算符组成条件表达式的一般形式为:

  其求值规则为:如果表达式1的值为线 的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。 条件表达式通常用于赋值语句之中。

  1. 条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。因此 max=(ab)?a:b可以去掉括号而写为 max=ab?a:b

  ab?a:(cd?c:d) 这也就是条件表达式嵌套的情形,即其中的表达式3又是一个条

  printf(max=%d,ab?a:b);

  比如你上面括号里面的*运算符优先级高于=,++也高于三目运算符。推荐你看一下运算符优先级。

  就这个程序而言,主要问题是,逗号运算符优先级比三目运算优先级还低,去掉括号后,造成先做了三目运算,后做逗号运算。

http://scare666.com/tiaojianyunsuanfu/486.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有