gpt4 book ai didi

c++ - 在 for 循环中向前和向后跳转

转载 作者:太空宇宙 更新时间:2023-11-04 05:06:37 25 4
gpt4 key购买 nike

我在弄清楚如何在 C++(14) 中实现 for 循环时遇到了一些问题。这是一个普通的 for 循环:

for (j = 65; j < 91; ++j) {
body...
}

对于第一次迭代,j 将为 65。对于第二次迭代,我希望它增加 32(第二次迭代 j = 97)。对于第三个,它必须回到 65 + 1 => 66。基本上,j 值将是这样的:65、97、66、98、67、99、68、100、69、101...等等。在谈论使用的字符时,我希望代码尽可能少。

P.S:如果有帮助,这些值是 A, a, B, b, C, c, D, d, F, f... 的 ASCII 值

TL;DR:我想用尽可能少的代码遍历这些整数/字符。

谢谢。

最佳答案

只需使用两个迭代变量

for(auto lo=65, hi=lo+32; lo!=91; ++lo,++hi) {
/* use lo */
/* use hi */
}

编译器可能会优化掉 lohi 中的一个或两个。否则,您可以添加到单个迭代变量

void work(int);
for(auto j=65; j!=91; ++j) {
work(j);
work(j+32);
}

关于c++ - 在 for 循环中向前和向后跳转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43615046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com