#include <iostream>
#include <windows.h>
#include <cstdlib>
using namespace std;
bool setstart = true;
int main(){
int x;
int y;
cout << "Welcome to the guessing game\n";
do {
cout << "Please enter a number from 0 to 100: ";
cin >> x;
} while (x < 0 || x > 100);Sleep(2000);
system("cls");
cout<<"ok player 2 pick the guess";
cin>>y;
if (x == y){
cout<<"congrats you got it right";
}
else{
if (x < y){
cout<<"Go lower";}
else {
if (x > y){
cout<<"higher";}}
}
system("pause>nul");
return 0;
}
我真的不明白。我该怎么用?也做了一件事,而且意味着Do就是正在发生的事情,虽然它正在发生,但是它会做什么呢?这是我的朋友为我做的一些代码,你们中的任何人都可以真正具体地解释一下吗?
答案 0 :(得分:4)
do {} while;
循环在检查条件之前执行一次:
do {
"//code stuff here"
} while (condition);
相当于
"//code stuff here"
while (condition) {
"//code stuff here"
}
答案 1 :(得分:1)
这种特殊结构背后的故事源于编译器的开端和在有限CPU中的使用。
在那个时候,用while()开始你的循环产生了比do / while版本更长的代码:
while(条件)一次评估条件,然后在结束时开始一个跳转循环:
if (!cond) jump to 'END' // PRE CHECK
else
'BEGIN'
do work
if (cond) goto 'BEGIN'
'END'
而do {} while没有这个“预检”,这节省了一些装配说明。在高性能代码的情况下,使用do {} while可能意味着几个百分点的改进。
答案 2 :(得分:0)
来自Site:
示例:
#include <iostream>
using namespace std;
int main ()
{
// Local variable declaration:
int a = 10;
// do loop execution
do
{
cout << "value of a: " << a << endl;
a = a + 1;
}while( a < 20 );
return 0;
}
你需要做很多练习,然后你会理解它。不要放弃,只是学习。买一本好书,找到程序员的朋友,加入IRC。学习!这是你未来的大门。
答案 3 :(得分:0)
while (cond) { ...body... }
和do { ...body... } while (cond)
几乎完全相同。
唯一的区别是while (cond)
在第一次执行...body...
之前测试其条件,而do { ...body... } while (cond)
在第一次检查条件之前执行...body...
一次。
您可能需要do while
的原因是您正在测试的条件是在循环内设置的,而不是之前。在这种情况下,循环检查x
是否在范围内,但在循环体执行一次之前,x
是不可知的。