设置一下后打印变量

use*_*000 -1 c bit-manipulation

我试图在8位变量中设置一点.每次在设置特定位后打印变量时,我总是将值设为1.

uint8 value;
value = (1<<1 || value)
printf(%x \n,value); //prints 1 instead of 2
value = (1<<2 || value)
printf(%x \n,value); //prints 1 instead of 4
Run Code Online (Sandbox Code Playgroud)

eml*_*lai 8

你正在使用布尔'或' ||.按位'或'是|.

你还没有初始化,value所以你不能指望它是什么.