>>かずま様
解決しましたありがとうございました。
無限ループの原因は配列の最後の要素であるArray[100]と変数iのアドレス値が同一だからですね。
なるほど、すっきりしました。
試しに配列を100で初期化するように書き換えたら処理が終わって笑いました。
お二方ありがとうございました。
検索結果 3 件
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 無限ループする原因について
- 返信数: 5
- 閲覧数: 5997
Re: 無限ループする原因について
>> hide様
すいません、条件文の部分はコンソールからコピペが出来なかったのでそのまま直打ちで行っていた為に間違ったものです。
無限ループであると判断した要因なのですが、試しに変数iをprintfデバッグした時に
0~99までの出力を永遠と行っていることを確認したためです。
すいません、条件文の部分はコンソールからコピペが出来なかったのでそのまま直打ちで行っていた為に間違ったものです。
無限ループであると判断した要因なのですが、試しに変数iをprintfデバッグした時に
0~99までの出力を永遠と行っていることを確認したためです。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 無限ループする原因について
- 返信数: 5
- 閲覧数: 5997
無限ループする原因について
こんばんは。初投稿ゆえ不備ございましたらご容赦ください。 自分で配列の初期化に失敗していた時に起きたことが 気がかりだったので投稿させて頂きます。 C言語の勉強をしていた時に誤って配列の添字を間違えた結果、 無限ループが起きました。無駄な部分を省いた書き方ではこんな感じです。 #include<stdio.h> int main(void) { int i = 0; int Array[100]; for(i = 0; i =< 100; i++) { Array[i] = 1; } return 0; } お察しの通り、100用意した配列の要素に対して101回代入しようとしているため バグが...