因此,通过这一点代码,程序挂起并不会退出循环,printfs只是用于调试,它们不是程序的组成部分。我对编程相当陌生,所以我不确定我错过了什么逻辑似乎应该起作用。非常感谢您花时间查看本文和您的帮助。卡住嵌套do {for {if循环
do
{
intialcollide = 0;
for(i=0; i<11; i++)
{
if(i != currentObj)
{
if(object[currentObj].new_loctX == object[i].new_loctX && object[currentObj].new_loctY == object[i].new_loctY)
{
intialcollide = 1;
}
else
{
intialcollide = 0;
}
}
printf("%d\n", intialcollide);
}
}while(intialcollide != 1 || i != 10);
printf("Collide? %d", intialcollide);
当我运行它时,我得到无限的1和0。再次感谢您的帮助
我不完全明白你在做什么,但也许问题是'while(intialcollide!= 1 || i!= 10);',好像'i!= 10'永远是真的。 – rendon 2014-12-08 02:19:46
使用调试器来遍历您的代码 – 2014-12-08 02:19:52
“所以我不知道我错过了什么” - 睡眠?咖啡? “逻辑似乎应该起作用” - 而不是任何真正看过它的人。 – 2014-12-08 02:41:36