c语句if (a = 0xA | a > 12)是什么意思
答案:3 悬赏:60
解决时间 2021-01-13 14:38
- 提问者网友:太高姿态
- 2021-01-12 22:15
c语句if (a = 0xA | a > 12)是什么意思
最佳答案
- 二级知识专家网友:梦中风几里
- 2021-01-12 22:56
三个运算符,优先级最高的是>这个关系运算符,其次是| 位或运算符,最后是=赋值运算符。
1、先判断 a>12,如果a大于12则表达式的值是1,否则 为0.
2、0xA实际上就是十六进表示,它的值转成10进制即为10,二进制表示为1010,用它与0或者1进行|位或运算,显然,其结果要么是1011,要么是1010,因此,表达式
0xA | a > 12的值要么是0xa要么是0xb。
3、将表达式0xA | a > 12的运算结果,保存到变量a中。
4、变量a与0进行比较,通过分析知道,a的值要么是0xa,要么是0xb,所以这个条件一定是成立的。
1、先判断 a>12,如果a大于12则表达式的值是1,否则 为0.
2、0xA实际上就是十六进表示,它的值转成10进制即为10,二进制表示为1010,用它与0或者1进行|位或运算,显然,其结果要么是1011,要么是1010,因此,表达式
0xA | a > 12的值要么是0xa要么是0xb。
3、将表达式0xA | a > 12的运算结果,保存到变量a中。
4、变量a与0进行比较,通过分析知道,a的值要么是0xa,要么是0xb,所以这个条件一定是成立的。
全部回答
- 1楼网友:执傲
- 2021-01-13 00:59
首先执行赋值 a=0xA|a :|是位或操作符。
其次执行判断 a>12。
0xA 的二进制是1010
12的二进制是1100
由此可以的除只有a的低3位是010,011,100,101,110,
其次执行判断 a>12。
0xA 的二进制是1010
12的二进制是1100
由此可以的除只有a的低3位是010,011,100,101,110,
- 2楼网友:北方的南先生
- 2021-01-13 00:25
0xA是16进制,换算成10进制就是10,所以这句判断就是a等于10或者a大于12
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯