- ベストアンサー
While文の終わりにセミコロンが無いのは?
単純な質問なのですが、 do { .... } while(...); とdo-while文は最後にセミコロンがあるのに while(...) { ... } とwhile文にはなぜ最後にセミコロンが無いのでしょうか。 文法だからしょうがないのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
{ }を使った複文になっているのでセミコロンがありません while(i) printf("%d\n", i--); 単文だけなら必要です
その他の回答 (1)
- shred
- ベストアンサー率35% (25/70)
回答No.1
whileと{}をセットで覚えてしまうとそのような誤解が生まれると思います。 while 式 と考えれば良いかと思います。複数の式も式です。 そのようなときに{}で括るので;が無くなったように思ってしまってるのだと思います。
質問者
お礼
早速ご回答ありがとうございます。{}が複数の式を扱っているという肝心な規則を忘れていました。
お礼
早速ご回答ありがとうございます。{}が複数の分を扱っている肝心な規則を忘れていました。また、単文ならセミコロンが必要なことも教えていただきありがとうございます。