程序设计里面,有一个“哨兵控制器”的概念,俗称“哨兵值”。
所谓哨兵值,是指一个特定的数据项,它通常作为数据输入结束的信号。
哨兵值应该被谨慎的选择,使它在输入数据时不可能被误用。
使用哨兵值循环也可以用于数据验证。
#includeusing namespace std; int main() { int x, sum = 0; cin >> x; while (x != -1) { sum += x; cin >> x; } cout << sum << endl; return 0; }
比如以上C++代码,求输入的任意数量的自然数之和(输入数据不需要校验),以-1结束。
-1本就不是自然数,用来做结束循环的“哨兵控制器”,是符合预期的。



