gpt4 book ai didi

C - char 和 int 之间的 acsii 转换

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

我有这个 C 代码:

#include <stdio.h>

int main()
{
for (char c = "A"; c <= "Z"; c = (char)((int) c + 1))
printf("%c: %d\n", c, (int) c;
}

一个非常简单的打印出所有大写字母及其ascii码的程序

但我的结果不是很理想

它实际上打印出来了

\: 92
]: 93
^: 94
_: 95
`: 96
a: 97
b: 98
c: 99
d: 100
e: 101
f: 102
g: 103
h: 104
i: 105
j: 106
k: 107
l: 108
m: 109
n: 110
o: 111
p: 112
q: 113
r: 114
s: 115
t: 116
u: 117
v: 118
w: 119
x: 120
y: 121
z: 122
{: 123
|: 124
}: 125
~: 126
: 127

谁能给我解释一下吗?

我刚开始学习 C,不知道为什么。

最佳答案

当您这样做时,您的程序会导致未定义的行为:

char c = "A"; c <= "Z"

请使用单引号。更正的程序:

#include <stdio.h>

int main()
{
char c = 'A';
for (; c <= 'Z'; c = (char)((int) c + 1))
printf("%c: %d\n", c, (int) c);
}

"A""Z" 是字符串文字。 'A''Z' 是字 rune 字

关于C - char 和 int 之间的 acsii 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19463883/

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