如果x>y为真,那么把x的值赋给Z,否则把Y的值赋给Z。
?在这里起判断作用。
:和?一起是C语言里一起用的,是基本语法,书上有的。。
你好好找找书上,以后的C++和C#里也有这种写法
?:称为条件运算符。?:就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值。
相当于:
if (x>y)
{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类型)。
参考资料来源:
百度百科——条件运算符