int((a<b?a:b)&&(c-d))在c语言中的意义

2025-04-03 07:06:29
推荐回答(3个)
回答1:

a所以可以看成:如果a和b最小值不为0且 c-d不为0的话 这个表达式得到一个1;
只要(a和b的最小值) 和( c-d) 之中有一个为0 那么该表达式返回0

这个表达式 只有0或者1 两种结果。

回答2:

可以一步一步算
假设 a< b 则选a
1.如果a > 0 并且 c-d > 0 则&&表达式为值为1 int(1) 把1强制转换成整型还是等于1

2. 如果a > 0 但 c-d < 0
如果 a < 0 则&&表达式为值为0 int(0) 把0强制转换成整型还是等于0

回答3:

  当a  当a>b时,外()中简化为b && (c-d);又当c!=d时简化为b && 1,那么当b!=0时()内为1,最后被int强制为整型数1。而当c==d时,则简化为(a