c++中的do...while

来源:百度知道 编辑:UC知道 时间:2024/06/23 04:26:12
请高手来帮忙解释一下一下的程序:
bool UserSaysYes()
{
char ch;
bool initialResponse=true;

do
{if(initialResponse)
cout<<"(y,n)?";
else
cout<<"用y或n回答:";
while((ch=GetChar())=='\n');
initialResponse=fause;
}
while(ch!='y'&&ch!=Y'&&ch!='n'&&ch!='N');
while(GetChar()!='\n');

if(ch=='y'||ch=='Y')return true;
else return false;
谢谢。

bool UserSaysYes()
{
char ch;//定义了一个变量
bool initialResponse=true;//又定义了一个bool变量

do
{
//if...else是用来判断输出形式的
if(initialResponse)
cout<<"(y,n)?";
else
cout<<"用y或n回答:";

//这个while和上面的do没关系,只和它下一句有关
//是用来判断得到的字符是不是换行符
//这个是do...while里嵌套的循环
while((ch=GetChar())=='\n');
initialResponse=fause;

}
while(ch!='y'&&ch!=Y'&&ch!='n'&&ch!='N');//这个while是和do在一起的

//这个是另一个循环了,执行下面的if...else
while(GetChar()!='\n');
if(ch=='y'||ch=='Y')return true;
else return false;
}

不过这个程序写得真够受的,具体意思就不管了,就只给你说说结构的含义吧.

骠悍的人生不需要解释!