私はこの 'for'ループにいくつかの問題があるようですが、これは試験問題です。私のロジックが間違っている理由を理解できません。C - Basic For Loop
int n = 1, r, i;
for(i=0; i<5; i++)
n *= 2;
r = n--;
このコードの実行後にrとnの値を見つけます。ここ
(紙、したがって画像リンク)は、このための私のロジックれる:正しい出力は、しかしであり、n = 31及びr = 32 Image
。どうしてこれなの?どこが間違っていますか?
「32」の理由 –
ループnの後には32があり、n--を実行するとnのVALUEが変更されるためです。しかし、n--が実行される前に、nはrに格納され、32であり、その後、減少後のn-である。 –