アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (2件)

{ }を使った複文になっているのでセミコロンがありません


while(i) printf("%d\n", i--);
単文だけなら必要です
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/06/03 20:46

whileと{}をセットで覚えてしまうとそのような誤解が生まれると思います。


while 式 と考えれば良いかと思います。複数の式も式です。
そのようなときに{}で括るので;が無くなったように思ってしまってるのだと思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/06/03 20:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!