本文目录一览:
C语言中:x>y?x:y; 是什么意思?问号和冒号的作用是什么?
如果xy,就把x的值赋给z,否则把y的值付给z。
可以把z=xy? x : y理解为
if(xy){
z=x;
}else{
z=y;
}
扩展资料:
三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。
对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。
可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。
C语言中z=x>y?x:y是什么意思?
?:称为条件运算符。?:就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值。
相当于:
if (xy)
{z=x;}
else
{z=y;}
扩展资料
C语言中条件表达式的通用形式如下:
exp0=exp1?exp2:exp3
如果exp1为真(非0),那么把exp2的值赋给exp0;如果exp1为假(0),那么把exp3的值赋给exp0。
2.verilog语法中也有类似C语言中的条件表达式
如下:
inout sda;
assign sda=(flag==1)?data_buf:1'bz;
当flag==1时,sda的值等于发送的数据的data_buf(sda相当于output类型),
当flag==0时,sda的值变成高阻态(sda相当于input类型)。
参考资料来源:
百度百科——条件运算符
c加加中x>y?x:y是什么意思?
xy? x : y为条件表达式,若xy成立则这个表达式的值为后面x,否则表达式的值是y,
条件表达式的原型为:
判断语句?表达式1:表达式2
若判断语句为真,则该条件表达式的值为表达式1的值,否则为表达式2的值。
x>y?x:y;在C语言中代表什么意思
是条件语句:
?前面的xy是个逻辑表达式,如果表达式为真,则该表达式的值取?后面的值x,否则取:后面的值y
也就是说c的值取x和y中的较大值!
? : ; 是c语言中唯一一个三目运算符。如果x大于y为真,结果输送x,否则为假结果输送y;
(!x++||y--)这个逻辑大概就是x等于0或者y不等于0最后表达式结果为1
++和--是后做的,还有如果x为0,y就不--。
扩展资料:
C的运算符有以下几类:
1、算术运算符:* - + / %
2、关系运算符: == != = =
3、逻辑运算符:! ||
4、位运算符: ~ | ^
5、赋值运算符:=及扩展赋值运算符
6、条件运算符:?:
7、逗号运算符:,
参考资料来源:百度百科-运算符