このコードは12480を出力します。なぜですか?私はそれが124816を印刷すると予想しました。誰かがそれを私に説明できましたか?誰かがこのコードを私に説明してもらえますか?なぜ私は16の代わりに0を得るのですか?
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回目の非常に単純な状況に再調整することもできます。これは、あなたが期待していないものを見ているところです...) –
はい。 5回目だけでなくforループをfor(i = 1; i <= 6; i ++)に変更すると、同じ出力が得られます。 – hago