
2个回答
展开全部
前一道题,a<b?a:b这个是三目运算符,先判断a<b,如果是真的就返回冒号前面的,否则返回后面的,题目中是a<b?a:c<d?c:d这个先判断后面的c<d?c:d,c=3小于d=4,所以返回c,也就是3,这样变成a<b?a:3,a=1小于b=2,所以返回前面的的,也就是a=1
后一道题目的c选项,a!=b是判断a、b是否不相等,而a=a!b,这个是逻辑运算,!是取非,先把a、b转化为二进制,然后逐位取非,将得到的结果转化为10进制赋给a
后一道题目的c选项,a!=b是判断a、b是否不相等,而a=a!b,这个是逻辑运算,!是取非,先把a、b转化为二进制,然后逐位取非,将得到的结果转化为10进制赋给a
追问
前一道题为什么要先算后面的啊?
后面那个也不太懂啊。。怎么逐位取非啊?
追答
前一道题,a<b?a:b先判断a<b,如果是真的就返回冒号前面的,否则返回后面的,如果冒号前后是表达式则会返回表达式的值,例如:a<b?(1+1):(2+3),如果a小于b,则返回1+1也就是2,否则返回2+3也就是5
突然发现后面那道题目a=a!b是错的,语法错误
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询