私はコードの何が問題だったのかをほぼ何時間も把握しようとしていますが、それを見つけることができないようです. 私のコードはコンパイルされていました。これは、コンパイラに違反するエラーがないことを示していますが、私のプログラムは思い通りに動作しません。
私のコードは次のとおりです。
#include <stdio.h>
#define MAXNUM 3
#define MAXLEN 9
int main ()
{
char input[MAXNUM][MAXLEN];
int count;
int a = 0;
for ( count = 0; (count + 1) < MAXNUM; count++ ) {
printf ( "Enter number: (12XXXXXXX): " );
if ((fgets ( input[count], sizeof(input), stdin )) != 0 ) {
a = atoi (input[count]);
if ((( a / 10000000 ) >= 13 ) || (( a / 10000000 ) <= 11 )) {
//error message
}
} else {
//error message
}
}
return 0;
}
プログラムは 3 つの入力を受け取ることになっていましたが、4 つかかると致命的に終了します。他の機能は正しく機能しています (間違った入力の処理など)。唯一の問題は、ユーザーからの入力を求める回数にあるようです。間違いは for ループ条件にあると思い込み、それを理解しようとしましたが、役に立ちませんでした。誰でも指摘できますか?
*わかりました。for ループ状態にあります: * (count + 1) <= MAXNUM