关于C++循环语句

do{}while..

do
{
cout<<"Please input a integer to fill the queue ";
cin>>i;
}
while (q.Enqueue(i));

q.Enqueue(i)的内容是
{
if (n==size)
return false;
array[n]=i;
++n;
return true;
}

执行发现要输入5个数据的时候,
输入提示语会出现6次,
但是第6个数据没有计入数组

应该怎样修改,才能让提示语只出现5次呢

第1个回答  2023-04-26
这个 题简单的考了下 ,变量名 ++ 和 ++变量名这个概念;
变量名 ++ 是执行完+1;
++变量名 执行前 +1;

循环开始执行第一次,i =0,X=10, 10>8 ,打印X =10、Y=10,执行X --,这个时候,X 就等于9了,然后Y 被赋值为 ++i ,Y=1;for 循环开始了第二次,此时 i =1, X=9,9>8, 打印X=9,Y=1,执行 X--,X=8;for 循环开始了第三子,此时i =1, X=8 ,8不大于8 ,所以循环停止了。
第2个回答  2023-05-02
while语句实现当型循环,它的一般格式为:
while (termination){
body;
}
1.当布尔表达式(termination)的值为true时,循环执行大括号中语句。并且初始化部分和迭代部分是任选的。
2.while语句首先计算终止条件,当条件满足时,才去执行循环中的语句。这是当型循环的特点。
第3个回答  2009-03-22
do
{
cout<<"Please input a integer to fill the queue ";
cin>>i;
} while (q.Enqueue(i));
改为
while (q.Enqueue(i))
{
cout<<"Please input a integer to fill the queue ";
cin>>i;
}本回答被网友采纳
第4个回答  2009-03-22
将if (n==size) 改为if (n<=size)
相似回答