我只是試圖打印unsigned int作爲位,但它出現在我的代碼:按位操作,位的打印取決於哪個putchar首先被放置...?
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');
}
爲什麼這是...超出了我的想法?
由於
瞭解'問題打印值'在第一個代碼循環中你會明白。 –