
a[0]=adc();语句用C语言还可以怎么写啊
*a = abc();但是这个有可能会踩内存,看下楼主的函数和数组是什么类型的要
求LOL美服常用句子
首先ADC0CN &= ~0x20是一个复合赋值表达式而不是语句。
ADC0CN &= ~0x20;才是语句。
这个表达式等价于ADC0CN = ADC0CN & ~0x20。
其中&是位与运算,~是按位取反运算。
其中~的优先级最高,~0x20的结果是0xffffffdf,也就是二进制11111111111111111111111111011111(作为对比,0x20等于0x00000020,二进制表示为00000000000000000000000000100000)。
&运算的结果是当且仅当两个运算数的对应二进制位为1时才为1,因此~0x20参与运算后只有~0x20中为0的这一个二进制位的对应位置设置为0,其它的合原来的ADC0CN一致。
也就是ADC0CN & ~0x20的结果是ADC0CN的第5个二进制位(最低位为第0位)修改为0后得到的值。
最后再把这个值赋给原来的ADC0CN。
所以整个ADC0CN &= ~0x20的结果是把ADC0CN的第5个二进制位修改为0。
====[原创回答团]



