在C中打印字符及其ASCII码

Chr*_*_45 26 c printf

如何在C中打印char及其等效的ASCII值?

enn*_*ler 32

这将打印出所有ASCII值:

int main()
{
    int i;
    i=0;
    do
    {
        printf("%d %c \n",i,i);
        i++;
    }
    while(i<=255);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这会打印出给定字符的ASCII值:

int main()
{
    int e;
    char ch;
    clrscr();
    printf("\n Enter a character : ");
    scanf("%c",&ch);
    e=ch;
    printf("\n The ASCII value of the character is : %d",e);
    getch();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

  • 相当确定ASCII停在127 (6认同)
  • 您的代码打印通过将char转换为int而创建的十进制值.这可能是某些系统上的ascii代码,但它可能不是. (3认同)
  • 这不是未定义的行为吗?使用`%d`打印`char` ?? (2认同)
  • 抱歉,`getch()` 为 -1。使用这个非标准函数的可怕例子。 (2认同)

MBi*_*ock 5

尝试这个:

char c = 'a'; // or whatever your character is
printf("%c %d", c, c);
Run Code Online (Sandbox Code Playgroud)

%c 是单个字符的格式字符串,%d 是数字/整数。通过将 char 转换为整数,您将获得 ascii 值。