【发布时间】:2017-04-25 20:16:41
【问题描述】:
所以我在任何索引 for 循环中使用 size_t 而不是 int 来防止负索引。但是在倒计时的时候,这会导致溢出:
for (size_t i = 10; i >= 0; --i) {
// Do something, f.ex. array[i] = i
}
什么是防止这种情况的好方法?
- 改用
int? - 使用 i == 0 作为终止条件? (但是,如果我需要 0,这将不起作用)
如有任何反馈,我将不胜感激!
【问题讨论】:
-
从技术上讲,这不是溢出,因为
size_t是无符号类型,但它绝对是一个无限循环,因为终止条件始终为真。
标签: c loops infinite-loop size-t