作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这可能是一个奇怪的问题,但是如何很好地遍历一种类型的所有值。特别是标准整数类型,例如 unsigned short
。普通的 for
循环结构存在一个困难:使用什么条件退出循环 - 因为所有值都是有效的。
当然,有多种方法可以完成这项工作。退出最后一个值,然后在循环后处理它。使用更大的整数来计数。问题是,有没有更优雅的方式?
最佳答案
我曾经担心过同样的问题,这是我能想到的最好的:
unsigned char c = 0;
do
{
printf("%d ", (int)c); //or whatever
} while (++c != 0);
这是我发现 do..while
语法有用的极少数情况之一。
请注意,从技术上讲,它仅对无符号类型有效,因为我依赖于值的包装。
关于c++ - 遍历所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9088452/
我是一名优秀的程序员,十分优秀!