最近在学单片机,被循环语句中的变量的前置和后置自增搞蒙了,产生了如下疑问
1.在循环语句while()的小括号中,如while(++t)或while(t++) 二者是否区分前置和后置?
2.假设问题1的答案是区分的,那么判断与自增(减)与执行循环体这三个步骤的前后顺序是什么?
#include<iostream>
using namespace std;int num, i, s,t;
void Reset();
void main()
{
Reset();
cout << "后置自增" << endl;
/*后置自增*/
while (num++<3) //先判断num,后num自增,再进入循环体
{
i++;
s = s + num;
cout <<"输出第"<<i<< "次"<<' '<<s << endl;
}
Reset();
cout << endl;
cout << "前置自增" << endl;
/*前置自增*/
while (++num<3) //先自增,后判断,再进入循环体
{
i++;
s = s + num;
cout << "输出第" << i << "次" << ' ' << s << endl;
}
Reset();
t = 2;
cout << endl;
cout << "do{ }while(--t)" << endl;
do
{
i++;
cout <<"循环第 "<< i<<" 次"<<endl;
} while (--t); //先执行循环体,再自减去,后判断
Reset();
t = 2;
cout << endl;
cout << "do{ }while(t--)" << endl;
do
{
i++;
cout << "循环第 " << i << " 次" << endl;
} while (t--); //先执行循环体,再判断,后自减
}
void Reset()
{
num = 0;
i = 0;
s = 0;
}