0
signed char ch=5;
while(ch = ch--)
    printf("%d",ch);

私はこれを読みました。while 文と文の終わり (;) がシーケンス ポイントであることが明確に示されています。

したがって、上記のものが無限に実行され、同じ値が出力される理由がわかりません[5]。

4

2 に答える 2

5

あなたのコードは

signed char ch=5;
while(ch--)
    printf("%d",ch);

すでにch--課題です。ch以前の値に再割り当てch--したch = ch--ためch--、効果はなく、反復ごとに同じ値が得られます。

于 2014-10-30T10:15:54.283 に答える