【问题标题】:How do I store all the ascii characters in C?如何将所有 ascii 字符存储在 C 中?
【发布时间】:2016-09-30 13:11:31
【问题描述】:
for (i = 0; i < 52; i++) {
    ascii_characters[i] = x;
    x++;
}

for (i = 0; i < 52; i++) {
    printf("%c\n", ascii_characters[i]);
}

我想将所有字母存储在我的数组中。

我在代码中所做的是存储了 65 到 122 之间的所有 ascii 值。 所以我已经将我所有的值存储在我的数组中。但我想跳过 91 到 96 之间的值。

【问题讨论】:

  • “代码屏幕截图”。如何不问问题。顺便说一句,欢迎使用 stackoverflow。您想编辑您的问题,在帖子中添加代码而不是图像。
  • 如何跳过从 91 到 96 的值与“存储所有 ascii 字符”一致?就此而言,跳过代码小于 65 或从 123 到 127 的字符如何与此一致?
  • 你知道isalpha这个函数吗?它可以帮助你:man isalpha
  • ascii_characters[0] = 65; ascii_characters[1] = 66; /* ... */ ascii_characters[25] = 90; ascii_characters[26] = 97; /* ... */ ascii_characters[51] = 122;
  • char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

标签: c ascii


【解决方案1】:
int i = 0;
char c;
for (c = 'A'; c <= 'Z'; c++) {
    ascii_characters[i++] = c;
} 

for (c = 'a'; c <= 'z'; c++) {
    ascii_characters[i++] = c;
} 

【讨论】:

    【解决方案2】:

    如果你要做的是存储大写和小写字母,你需要在每次递增时分别检查字母。如果您从A 开始,一旦您增加超过Z,您希望直接到a

    char x = 'A';
    for (i = 0; i < 52; i++) {
        ascii_characters[i] = x;
        if (x == 'Z') {
            x = 'a';
        } else {
            x++;
        }
    }
    

    【讨论】:

    • 感谢您澄清我的疑问。
    猜你喜欢
    • 2019-03-05
    • 2010-12-06
    • 2017-04-21
    • 2019-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    相关资源
    最近更新 更多