簡體   English   中英

你如何在 C 中將一個 int 轉換為它各自的 ASCII 字母?

[英]How do you convert an int to it's respective ASCII letter in C?

我挑戰自己制作一個需要 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("%s\n", i);
    }

}

我需要在string b = NULL;之間的位置添加某種函數string b = NULL; printf("%s\\n", b); 但我不知道我應該使用哪個功能。 最后,它應該按順序打印出字母表中的所有字母,每個字母都有自己的一行。 如果您碰巧知道可以幫助我的功能,請告訴我。

聚苯乙烯

如果我按照上面的示例進行操作,則會收到以下錯誤消息:

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("%s\n", 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("%c\n", i + 'a');
}

我用過這個:

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

它非常簡單,並使其成為一個字符。

此外,您可以使用<ctype.h> isascii檢查結果

我不認為你需要任何東西。 當您使用 %s 時,它應該自動將整數打印為字符。

簡單地做:

for(int i = 0; i < 26; i++)
{

  printf("%s\n", i);
}```

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM