C 执行while循环进入for循环
我制作了一个游戏,但不想使用do while循环。 因此,我尝试使用for循环。问题是当我用do while运行时 它可以工作,但当我运行for循环时,它的工作方式就不同了 我想我正确地将do while改为for循环。有人能告诉我我错过了什么吗C 执行while循环进入for循环,c,loops,C,Loops,我制作了一个游戏,但不想使用do while循环。 因此,我尝试使用for循环。问题是当我用do while运行时 它可以工作,但当我运行for循环时,它的工作方式就不同了 我想我正确地将do while改为for循环。有人能告诉我我错过了什么吗 do { crntShowBottle = rand() % 2 + 2; } while (crntShowBottle == prevShowBottle); prevShowBottle = crntSho
do {
crntShowBottle = rand() % 2 + 2;
} while (crntShowBottle == prevShowBottle);
prevShowBottle = crntShowBottle;
for (;;)
{
crntShowBottle = rand() % 2 + 2;
if (crntShowBottle == prevShowBottle)
break;
}
prevShowBottle = crntShowBottle;
首先,试着理解
循环
的机制,以及它们与while循环
和for循环
的区别
根据您的代码,发生了什么
do while
部分中,您给出了“先做某事”的说明,然后检查条件。如果条件(检查)为true
crntshowBattle==prevshowBattle
,则循环必须再次运行。否则,如果条件为false
crntshowBattle!=PrevShowBattle
循环必须终止
for循环
部分中,您使用了无限循环
for(;;)
。意味着循环将运行无限次。但是,在循环
中,您编写了中断
条件。因此,当条件匹配时,循环将关闭。因此,您必须使用crntshowBattle!=prevShowBottle
break
是如何工作的
这两种退出条件完全相反。第一个循环在值不相等时退出,而第二个循环在值相等时退出。^^^^更正:
if(crntshowBattle!=prevshowBattle)中断代码>以及您为什么要将do/while
更改为for
?一个并不天生比另一个好,在这种情况下,do/while
似乎更清晰。每当你有或看到类似(;;)
的代码时,你应该立即思考,“也许这不是for
循环的真正情况?”对不起,伙计们。虽然我最早学习C语言,但我只为Golang学习C语言。我有点相信只有一种循环。所以我试着只使用一个循环,它是for循环,就像Golang一样。