C++ 中的while(n--)
#include <iostream>
using namespace std;
int a[100];
int main() {
int n = 10;
// value of (n--) is 10
// you can assign that value to another variable and print it
int k = (n--); // extra parenthesis for clarity
printf("value of n-- is %d\n", k); //输出结果是10,The value of n-- is the previous value of n
return 0;
}
理解了n--
其实是n之前的值,那么while(n--)
的用法也就清楚了。下面是一个实例。
将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。其中用到了while(n--)
.
#include <iostream>
using namespace std;
int a[100];
int main() {
int n;
cin >> n;
for (int i = 0; i<n; i++)
cin >> a[i];
while (n--) { //常用的倒序计数循环,等价于while(n-->0)
cout << a[n];
if (n > 0) cout << " "; //如果不是最后一个数那么就要用空格分隔开
}
return 0;
}