【问题标题】:Adding Integer to the ASCII value of a character将整数添加到字符的 ASCII 值
【发布时间】:2020-08-24 12:43:54
【问题描述】:

例如,我有一个字符 a,它的 ASCII 值为 97,我想将 10 添加到该 ASCII 值,但在这种情况下再次将其保存为字母 k。我怎样才能做到这一点?

(我想给出一个代码示例,但我没有。)

【问题讨论】:

  • 字面意思就是'a' + 10
  • 我并没有冒犯的意思,但如果你想加10,为什么不直接加10?

标签: c char ascii


【解决方案1】:

只需添加 10 即可。

char letter = 97;
letter += 10;

printf("%c\n", letter);

【讨论】:

    【解决方案2】:

    97'a'没有区别;它们都产生整数九十七。以下两行是等价的:

    char ch = 97;
    char ch = 'a';
    

    如何将十加到一个数字上?使用加法运算符或+=

    ch += 10;
    

    因此以下将产生k

    printf("%c\n", ch);
    

    这将输出一个值为 117 的字节,您的终端或编辑器或诸如此类的东西会将其解释为 k


    警告:此答案假定基于 ASCII 的机器。 'a' 在基于 EBCDIC 的机器上不等同于 97。此外,EBCDIC 中的字母不连续,因此添加 'a' + 10 不会得到 'k'

    【讨论】:

    • 嗯,这比预期的要容易
    猜你喜欢
    • 2023-04-07
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多