int i=5;do{cout<i--; //这里也自减1}while (i!=0) //也就是说每次循环,i都减2,i的初始值是5 //所以每次到while这里判断的时候i都是奇数,不能是0
照我理解你这个每次循环都i减了两次 单数减2怎么都到不了0 只会变成负数下去
int i=5;do{cout<i--;cout<<"i="<}while (i!=0)运行它你就知道了。
i每次自减2所以i不可能等于0