我在运行以下代码时遇到了无限循环。在一个被块包围的网格内,一个预定义的正方形开始于此实现运行。如果需要访问一个正方形,则将其标记为 1,如果已访问,则将其标记为 2。我似乎找不到解决方案,我希望得到一些有用的提示。
one_count=1;
while(one_count>0){
for(int i=0;i<24;i++){
for(int c=0;c<80;c++){
if(create[i][c]=='1'){
if(create[i-1][c]==' '){
create[i-1][c]='1';
}
if(create[i+1][c]==' '){
create[i+1][c]='1';
}
if(create[i][c-1]==' '){
create[i][c-1]='1';
}
if(create[i][c+1]==' '){
create[i][c+1]='1';
}
create[i][c]='2';
}
}
}
one_count=0;
for(int i=0;i<24;i++){
for(int c=0;c<80;c++){
if(create[i][c]=='1'){
one_count++;
}
}
}
}