私は現在、暇なときにいくつかの C を学ぼうとしています。私は Java である程度の経験があるため、中括弧を使用して ie 変数のスコープを制限することに慣れています。Brian W. Kernighan/Dennis M. Ritchie の著書 "The C Programming Language" では、中括弧をあまり使用していないようです。 Java パースペクティブ)。たとえば、コードが次の本の1.6です。
while((c = getchar())) != EOF)
if (c >= '0' && c <= '9')
++ndigit[c-'0'];
else if() /*and so forth...*/
++nwhite;
else
++nother;
Java の観点からは、中括弧がないため、最初のステートメントのみが実行されることに慣れていますが、インデントはすべてが実行されることを示唆しています (if、else if、else)。
ここで何が実行され、なぜ実行されるのでしょうか? if、else if、else はすべて while ループの範囲内ですか? それをよりよく理解するために読むことができる、参照すべき規則はありますか? 前もって感謝します。