c++ - 如何在不强制转换的情况下循环遍历小写字符?

标签 c++ loops char ascii

我想在不转换的情况下循环遍历我的小写字母表。我可以遍历每个字符,但如果我转换结果,我只会得到第一个字符。我该如何解决这个问题?

主程序

#include "common.h"
#include <iostream>
#pragma comment(lib,"ws2_32")
Common common;

int main()
{
    std::cout << common.ascii_uppercase();

    std::cin.get();
}

通用.c

#include "common.h"
#include <iostream>

char Common::ascii_uppercase(){
    for (int c = 97; c <= 122; ++c)
        return (char)c;
}

最佳答案

当您return 时,函数执行结束,即使它处于循环中。所以你的循环只会运行一次。那不是因为 Actor 。如果你想返回多个 char,你可以返回一个 std::string,像这样:

std::string ascii_lowercase() {
    std::string result;
    for (char c = 'a'; c <= 'z'; ++c)
        result += c;
    return result;
}

请注意 return 不再在循环中,而是仅在完成从 az 的循环后返回。这将打印 abcdefghijklmnopqrstuvwxyz

关于c++ - 如何在不强制转换的情况下循环遍历小写字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56181032/

相关文章:

c++ - 错误 : 'null' was not declared in this scope when setting integer to 0 - photon/arduino C++

java - for 循环外部变量的动态添加和使用 - Selenium

c - 对 2D 阵列的一部分进行无限循环

C 下标值不是数组、指针或 vector - 是吗?

c - char 数组是否为 null 终止符分配一个额外的空间?

C++ 隐式构造函数转换后进行类型向上转换

c++ - 素数计划

c++ - (-2147483648> 0) 在 C++ 中返回 true?

java - 这个循环计算字符串中子字符串出现的次数,如何实现?

将 char 指针数组转换为小写 C