此代碼輸出12480 ..爲什麼?我預計它會打印124816.有人可以向我解釋嗎?有人可以向我解釋這段代碼嗎?爲什麼我得到0而不是16?
int main()
{
char c = 48; // From ASCII one can find that char 48 represents 0.
int i , mask = 1;
for(i = 1; i <= 5; i++)
{
printf("%c", c|mask); // Here print the char formatted output
mask = mask << 1;
}
return 0;
}
*爲什麼*你預計它會打印124816? (你也可以通過這個循環第五次更簡單地描述這個問題,這是你看到的東西,顯然你不期望......) –
是的。不僅是第5次,但如果我將for循環更改爲(i = 1; i <= 6; i ++),我會得到相同的輸出。 – hago