「無限ループ」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>MikeCAT
(C言語のコードをsourceタグを使った記述に変更)
5行目: 5行目:
 
==例==
 
==例==
 
===[[C言語]]===
 
===[[C言語]]===
<pre>for(;;)処理;</pre>
+
<source lang="c">for(;;)処理;</source>
 
* 2013年時点でもっとも推奨されている記述方法である。
 
* 2013年時点でもっとも推奨されている記述方法である。
  
  
<pre>while(1)処理;</pre>
+
<source lang="c">while(1)処理;</source>
 
* この記法は馬鹿なコンパイラではループの度に無駄な判定処理が入るという欠点がある。
 
* この記法は馬鹿なコンパイラではループの度に無駄な判定処理が入るという欠点がある。
 
* [[Visual C++]]ではC4127警告<ref>http://msdn.microsoft.com/ja-jp/library/6t66728h.aspx</ref>が発令され怒られる。[[マイクロソフト]]社内でこの記法を用いると[[リストラ]]対象となるかは定かではない。
 
* [[Visual C++]]ではC4127警告<ref>http://msdn.microsoft.com/ja-jp/library/6t66728h.aspx</ref>が発令され怒られる。[[マイクロソフト]]社内でこの記法を用いると[[リストラ]]対象となるかは定かではない。
  
  
<pre>int i,j;
+
<source lang="c">
 +
int i,j;
 
for(i=0;i<10;i++) {
 
for(i=0;i<10;i++) {
 
     for(j=0;j<10;i++)処理;
 
     for(j=0;j<10;i++)処理;
}</pre>
+
}
 +
</source>
 
* [[不具合]]、いわゆる[[バグ]]である。
 
* [[不具合]]、いわゆる[[バグ]]である。
  
  
<pre>int i,j;
+
<source lang="c">
 +
int i,j;
 
for(i=0;i<100;i++) {
 
for(i=0;i<100;i++) {
 
     for(i=0;i<10;i++)処理;
 
     for(i=0;i<10;i++)処理;
}</pre>
+
}
 +
</source>
  
  
<pre>int i;
+
<source lang="c">
for(i=0;i<=INT_MAX;i++)処理;</pre>
+
int i;
 +
for(i=0;i<=INT_MAX;i++)処理;
 +
</source>
  
 
===[[Active Basic]]===
 
===[[Active Basic]]===

2013年8月21日 (水) 13:11時点における版

無限ループ(読み:むげんループ、英語: infinite loop)とは、無限に繰り返されるループのことである。

また、英語読みの「インフィニット・ループ」はアメリカ合衆国カリフォルニア州クパティーノに存在する環状道路由来の地名であり、その中にはアップル本社のビル群が建っている。

C言語

for(;;)処理;
  • 2013年時点でもっとも推奨されている記述方法である。


while(1)処理;
  • この記法は馬鹿なコンパイラではループの度に無駄な判定処理が入るという欠点がある。
  • Visual C++ではC4127警告[1]が発令され怒られる。マイクロソフト社内でこの記法を用いるとリストラ対象となるかは定かではない。


int i,j;
for(i=0;i<10;i++) {
    for(j=0;j<10;i++)処理;
}


int i,j;
for(i=0;i<100;i++) {
    for(i=0;i<10;i++)処理;
}


int i;
for(i=0;i<=INT_MAX;i++)処理;

Active Basic

Do
    処理
Loop

HSP

repeat
    処理
loop

x86アセンブラ

thelabel:
jmp thelabel

関連項目

参考文献