如何在 C 中将 int 转换为它各自的 ASCII 字母?



我自己也面临着挑战,要制作一个程序,它需要一个int,并且必须打印相应的ASCII字母,就像这样:如果数字是65,它应该打印出A等等。但我不知道如何做到这一点。这是我迄今为止的代码:

#include <cs50.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
for (int i = 65; i < 81; i++)
{
printf("%sn", i);
}
}

我需要在string b = NULL;printf("%sn", b);之间的位置添加某种函数,但我不知道应该使用哪个函数。最后,它应该按顺序打印出字母表中的所有字母,每个字母都有自己的行。如果你碰巧知道一个可以帮助我的功能,请告诉我。

p.S

如果我像上面的例子一样做,我会得到以下错误消息:

clang -ggdb3 -O0 -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow    try.c  -lcrypt -lcs50 -lm -o try
try.c:12:18: error: format specifies type 'char *' but the argument has type 'int' [-Werror,-Wformat]
printf("%sn", i);
~~     ^
%d
1 error generated.
<builtin>: recipe for target 'try' failed
make: *** [try] Error 1

最后,它应该按顺序打印出字母表中的所有字母,每个字母都有自己的行。

您实际上并不需要函数来实现这一点。此外,string是错误的选择,因为您只想打印字符。这个for可能会做你希望做的事情:

for (int i = 0; i < 26; ++i)
{
printf("%cn", i + 'a');
}

我使用了这个:

int integer = // your int ;
char c = integer;

它非常简单,使它成为一个字符。

此外,您可以使用<ctype.h>中的isascii检查结果

我想你什么都不需要。它应该在您第%s天时自动将整数打印为字符。

简单操作:

for(int i = 0; i < 26; i++)
{
printf("%sn", i);
}```

最新更新