• ベストアンサー

While文の終わりにセミコロンが無いのは?

単純な質問なのですが、 do { .... } while(...); とdo-while文は最後にセミコロンがあるのに while(...) { ... } とwhile文にはなぜ最後にセミコロンが無いのでしょうか。 文法だからしょうがないのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

{ }を使った複文になっているのでセミコロンがありません while(i) printf("%d\n", i--); 単文だけなら必要です

dqk10254
質問者

お礼

早速ご回答ありがとうございます。{}が複数の分を扱っている肝心な規則を忘れていました。また、単文ならセミコロンが必要なことも教えていただきありがとうございます。

その他の回答 (1)

  • shred
  • ベストアンサー率35% (25/70)
回答No.1

whileと{}をセットで覚えてしまうとそのような誤解が生まれると思います。 while 式 と考えれば良いかと思います。複数の式も式です。 そのようなときに{}で括るので;が無くなったように思ってしまってるのだと思います。

dqk10254
質問者

お礼

早速ご回答ありがとうございます。{}が複数の式を扱っているという肝心な規則を忘れていました。

関連するQ&A