You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++如何遍历指定的不连续ASCII字符?

解决方案

你可以选择以下任意一种方式实现需求:

方法1:拆分两个独立循环(最直观,性能无额外损耗)

直接分别遍历两个需要的字符区间,不需要的区间直接不进入遍历逻辑:

// 遍历第一个区间 '1'到'7'
for (char i = '1'; i <= '7'; i++) {
    // 你的业务逻辑
}
// 遍历第二个区间 '?'到'F'
for (char i = '?'; i <= 'F'; i++) {
    // 你的业务逻辑
}

如果两个区间的处理逻辑完全一致,可以把逻辑封装成函数,两个循环里都调用同一个函数即可,避免重复代码。

方法2:单循环加过滤判断

如果不想拆分循环,可以在原有循环里加条件跳过不需要的字符区间:

for (char i = '1'; i < 'H'; i++) {
    // 跳过'8'到'>'的不需要区间
    if (i >= '8' && i <= '>') {
        continue;
    }
    // 你的业务逻辑
}

方法3:预定义允许的字符数组(扩展性最优)

如果后续需要调整遍历的字符范围、或者需要的离散区间更多,可以提前把所有要遍历的字符放到数组里,直接遍历数组即可:

char allowed_chars[] = "1234567?@ABCDEF";
for (int i = 0; allowed_chars[i] != '\0'; i++) {
    char current = allowed_chars[i];
    // 你的业务逻辑
}

内容的提问来源于stack exchange,提问作者Anonymous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:18:03