请教下这个c++程序结果为?

来源:百度知道 编辑:UC知道 时间:2024/09/28 11:43:39
#include <iostream>
using namespace std;
void main()
{
int a=3;
while(a--)
{
cout<<"y"<<endl;
}
cout<<"a="<<a<<endl;

}
这里的a--什么意思啊

y
y
y
a=0

a--,开始时候a=3,运行一次a减1,运行了3次a变成0,while的条件变成假

a=a-1;开始是a是3,每运行一次a减1,当a等于0是循环停止。

y
y
y
a=0

第一次执行while语句 判断条件 a—— 值为3
a——就相当于 a=a—1 (同样:如果是a++ 就相当于a=a+1 ) 第一次执行并不进行自减运算 而是直接赋值
判断条件运算了3次
执行结果为
y
y
y
a=0

y
y
y
a=-1

注:a--表是先用a然后对a减1,while(a--)在这里指的是先对a进行判断是否为0,然后减1,另外在a=0时,虽然不进行循环体,但a还是要做减1,然后再结束程序,我第一个写a=-1的哦