gpt4 book ai didi

c - 如何打印输入字符的ASCII码

转载 作者:行者123 更新时间:2023-12-02 21:32:10 26 4
gpt4 key购买 nike

我有这些代码

#include<stdio.h>
void main()
{
int a;
scanf("%d",&a);
printf("%d",(int)a);

}

我的问题是,当我输入 a 作为输入时,我得到 45 作为 ASCII 等效值,现在我决定将这些代码更改为:

#include<stdio.h>
void main()
{
int a;
scanf("%c",&a);
printf("%d",(int)a);

}

它显示了正确的答案,即 97,我不明白 %c 有何不同。

最佳答案

当你输入一个charint a时; scanf("%d",&a);,它会跳过输入。 char 保留在输入缓冲区中,并且 a 的先前值被保留。因此,在您的情况下,45a 的初始垃圾值。

但是,当您输入 int a; 中的字符时scanf("%c",&a);,从输入缓冲区中取出字符,其整数等值存储在a中。

关于c - 如何打印输入字符的ASCII码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22102475/

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