このコードを実行すると無限ループが発生する理由がわかりません。関数がなくても問題なく動作させることはできますが、それでは私がやろうとしているすべての目的が台無しになります。私のプログラムをクラッシュさせているこの関数で何が起こっているのかを確認するために、誰かが少し時間を割くことができますか?
#include <stdio.h>
#define ROWS 5
int checkStatus(int manStatus[]) {
int i;
for(i = 0; i < ROWS; i++)
{
if(manStatus[i] == -1)
printf("Sorry, but %d is still single!\n", i);
return 1; //True
}
return 0; //False
}
void main() {
int manStatus[ROWS];
int i=0;
//Initialize each man to -1, as in single:
for(i=0; i < ROWS; i++) {
manStatus[i] = -1;
}
i=0;
while ( (checkStatus(manStatus) ) ) {
printf("Still Single People!");
manStatus[i] = 0;
i++;
}
}