求教:循环为什么在i变为0后结束?
程序清单:
//num_test.cpp--use numeric test in for loop
#include<iostream>
int main()
{
using namespace std;
cout << "Enter the starting countdown value: ";
int limit;
cin >> limit;
int i;
for (i = limit; i; i--) //quits when i is 0
cout << "i= " << i << "\n";
cout << "Done now that i= " << i << "\n";
return 0;
}
循环为什么在i变为0后结束?
难道0就不是整型了吗?求解。。。
[解决办法]
for (i = limit; i; i--)
判断条件不就是i么, 在c中非0代表true, 0代表false
i变成0, 循环条件就是false了, 所以退出了