tzkr.net
当前位置:首页 >> C语言中表达式"1?(0?3:2)(10?1:0)"怎么解 >>

C语言中表达式"1?(0?3:2)(10?1:0)"怎么解

解:原式有语法错误 猜测你是要表示如下: 1?(0?3:2):(10?1:0) 这个式子中,由于1非0,所以会返回(0?3:2)的值,由于其中的0非非0,所以返回2,于是,整个式子最终会返回2

这个称作是条件运算符,举个例子: if(a>b) max=a; else max=b; 如果用条件运算符来的话就可以表示为: max=(a>b)?a:b; 就是说,表达式1是一个判断的条件,如果条件为真,则是表达式2,如果为假,则是表达式3.

你得说你这个是用在什么地方的,一般这种都是用来直接初始化数组的。像你这个 int a[]={3,2,1,0};就是可以用来初始化一个一行四列的数组。

C语言中,整数相除,结果还是整数,取整,不进行四舍五入,直接丢掉小数部分 数学中1/2=0.5,C语言取整为0,同理: 数学中5/2=2.5,C语言取整为2

首先,真为1,假为0,这是毋庸置疑的。 C语言中>是左结合的,也就是说当两个>在一起的时候先算左边的。 那么3>2是真的,结果就是1; 1>1当然就是假的了。 所以结果为0。

假设提问者明白条件表达或的含义,重点说一下x>=y>=2的问题: x>=y>=2在C语言中的意义与它在数学中的意义是不同的,在C语言中,它等价于: (x>=y)>=2 即,先计算x>=y是否成立,并用计算的结果(0或者1)与后面的2进行大小比较的运算,因此,当x=...

// x=3,y=z=4 (z>=y>=x)?1:0// 首先你需要把右边这个语句拆分开:// 分析左边的数据是否为真:即 z >= y 这个是正确的a = z >= y; // a = 1// 接着分析 (a >=x)// a = 1, x = 3 所以b = a >= x; // 为 0 // 在然后用三目运算来看看0 ? 1 : 0; 所...

表达式1一般是判断语句的,如果是true,则返回表达式2,否则返回表达式3。 举个列 :(1>2)?1:2 ,因为10)?2:2, 因为1>0的,结果是true,所以返回表达式2。 如果表达式1 的值为真,那么以表达式2 的值作为整个条件表达式的值,否则以表达式3 的...

n应该等于1或表达式,是只要有一个为真,则其就为真,并且后面的不执行了,所以刚开始(n=0),为假!执行后面的n=1为真!后面的就不执行了~!

p/3>0?p/10:p%3 这个是条件表达式。 用条件运算符构成一个条件表达式,又常常用条件表达式构成一个赋值语句,其一般形式如下: x=表达式1?表达式2:表达式3 其意义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x。若表达...

网站首页 | 网站地图
All rights reserved Powered by www.tzkr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com