dポイントプレゼントキャンペーン実施中!

 アンケート的な質問ですが、forの無限ループと、whileの無限ループが、C言語にはありますよね?
 whileの場合は、while(1)と書きますし、問題ないですが、
forの場合は、for(;;)とかきますよね。
 forの無限ループって、顔文字の涙にみえないですか?
for文の無限ループって、何が悲しかったのでしょうか?
答えられる方、こたえてください。

A 回答 (5件)

>forの無限ループって、顔文字の涙にみえないですか?


見えますね
>for文の無限ループって、何が悲しかったのでしょうか?
本当は無限ループになんかしないで、すっきりとループ脱出条件を
書きたかったのに書けなかったのが悲しいんでしょう。
    • good
    • 0
この回答へのお礼

 回答ありがとうございます。
無限ループの場合、breakとか、脱出条件ないと、バグになってしまいますから、本当は、避けたいとこです・・・。
プログラム上、仕方なしにやる場合は、絶対break必要ですね。

ちなみに、continueは、ループの始まりにいくだけですから、脱出しても、すぐ、ループ入るから、意味ないです。

ちなみに、私の昔のPC(Windows95)は、たしか、無限ループさせて、ミスって、PCの電源をおとしたら、(本体の)内部メモリーがいかれて、再セットアップ不可になって、つぶれました。(;;)

ビスタになってから、無限ループ、特に気をつかってます。

お礼日時:2008/01/16 12:42

>for文の無限ループって、何が悲しかったのでしょうか?


そりあ、あーた、無限ループすることが悲しいんですよ。サラリーマンにとってみれば、無限ループって、一生休みなしに働くことですから。
    • good
    • 0
この回答へのお礼

 全体的なまとめとして、たしかに、
for(; ;)については、涙に見えるか、どうかは、人それぞれですね・・・。

プログラミングの休憩として、こういう構文探してみるのも、たまには、おもしろいかも(^^)

今のところ、forの無限ループしか、思い当たりませんが、みつけたら、また
書きます。

回答どうもでした。

お礼日時:2008/01/16 12:26

>forの無限ループって、顔文字の涙にみえないですか?


言われてみれば、見えなくも無いですが人それぞれでしょう。
他にも探せば出てきそうですね。

>for文の無限ループって、何が悲しかったのでしょうか?
うーん、上の質問の答えが「顔文字に見えない人」にとっては
なんとも。。。;
べつに悲しかったわけではなくて、
構文的にこうなっただけだと思います。

>C 言語の慣習で、暗黙のキャストを拒否するなら
>while(true) って書くべきですね。
C言語ではtrueはマクロのなので結局1に展開されると思うのですが、
暗黙のキャスト云々になにか関係ありますか???
少なくともC言語の環境においてtrueを定義していない処理系を
使っているところも多いと思うので、コードに汎用性を持たせるなら
わざわざtrueにする必要は無いような気もしますが。。。
    • good
    • 0
この回答へのお礼

回答ありがとです。
while(1)も実は気にはなってたのです。
while(0)とか、while(2)とかだったらあかんの?という話ですし・・・。
無限にするなら、while(0)のほうが、私は適してると思います。

お礼日時:2008/01/16 12:37

for(;;) {


 仕事;;
}

嫁 = null;;
for(;;) {
 if(嫁) けこーん;
}

// C文法はもう覚えてないなぁ^^;
    • good
    • 0
この回答へのお礼

回答ありがとです。

下のパターンは、俺にも当てはまります。(;;)

お礼日時:2008/01/16 12:35

> 何が悲しかったか


この疑問に答えられる人はとってもすごいと思いますw

for 文の条件式は for(A; B; C) の真ん中の B の部分です。
無限ループさせるからと言って for(;;) と書く必要はありません。
もちろん for(i = 0; ; i++) でも無限ループになりますし、for(; true; ) でもなります。
なので for 文の無限ループのときに涙の顔文字になるとは、一概には言えませんね☆
(というか、for(;;) とか for(; true; ) って書いて無限ループにするようなことって、今までの経験上ないし、これからも絶対にないと思う...)

※ちなみに while(1) って書くのは C 言語の慣習で、暗黙のキャストを拒否するなら while(true) って書くべきですね。
    • good
    • 0
この回答へのお礼

 回答ありがとうです。
for(i=0;;i++)のときは、顔文字の(;;)にはなりませんが、

for(;ture;)のときは、泣いてるようにみえます・・・。(;-;)みたいな
感じで。

お礼日時:2008/01/16 12:32

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