我只是想将一个无符号整数打印为位,但它似乎是我的代码:
void checksWithOne(unsigned int userInput)
{
int i = 0, a = 0;
for (i = sizeof(int)*8-1; i >= 0; i--)
{
a = (userInput&(1<<i));
if (a==1)
{
putchar('1');
}
else
{
putchar('0');
}
}
printf("\n");
}
仅当 if 语句这样更改(替换 1 和 0)时才有效:
if (a==0)
{
putchar('0');
}
else
{
putchar('1');
}
我不知道为什么会这样……有什么想法吗?
谢谢