#include<stdio.h>int main(){int a=12,b;b=0x1f5&a<<3;printf("%d,%d\n",a,b); return 0;}
收起
左移运算符优先级高于&所以先计算a<<3,结果为96,但a还是12再0x1f5 & 96 ,结果b是96
报告相同问题?