「無限ループ」の版間の差分
ナビゲーションに移動
検索に移動
(→C言語) |
imported>MikeCAT 細 (C言語のコードをsourceタグを使った記述に変更) |
||
5行目: | 5行目: | ||
==例== | ==例== | ||
===[[C言語]]=== | ===[[C言語]]=== | ||
− | < | + | <source lang="c">for(;;)処理;</source> |
* 2013年時点でもっとも推奨されている記述方法である。 | * 2013年時点でもっとも推奨されている記述方法である。 | ||
− | < | + | <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>が発令され怒られる。[[マイクロソフト]]社内でこの記法を用いると[[リストラ]]対象となるかは定かではない。 | ||
− | < | + | <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++)処理; | ||
− | }</ | + | } |
+ | </source> | ||
* [[不具合]]、いわゆる[[バグ]]である。 | * [[不具合]]、いわゆる[[バグ]]である。 | ||
− | < | + | <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++)処理; | ||
− | }</ | + | } |
+ | </source> | ||
− | < | + | <source lang="c"> |
− | for(i=0;i<=INT_MAX;i++)処理;</ | + | 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