字符转 ASCII 码

核心思想:读入%c,输出%d

C 语言里:char 本质就是小整数 ,直接把 char 变量用%d打印,就输出它的 ASCII 码,不需要调用特殊转换函数。

完整可提交代码

复制代码
#include <stdio.h>
int main()
{
    char ch;
    scanf("%c", &ch);   //读入一个字符
    printf("%d\n", ch); // %d 按整数输出,就是ASCII码
    return 0;
}

原理

  1. char ch存字符,比如输入A,内存存的数字是65
  2. %c → 打印看得见的字符 A
  3. %d → 打印这个字符对应的 ASCII 数字 65

举例子:

  • 输入 A,输出 65
  • 输入 0,输出 48
  • 输入 a,输出 97

另一种写法(强制类型转换,效果一模一样)

复制代码
printf("%d\n", (int)ch);

写不写(int)强制转换都可以,printf 用%d输出 char 会自动提升成 int。

易错坑

不要写成 scanf("%d", &ch)!%d是读数字,读字符必须用%c。

相关推荐
学逆向的9 小时前
C 内存属性
c语言·开发语言·算法·网络安全
Zwawa9 小时前
一盏 LED 不够用了:让同一盏灯说出不同的话
c语言·单片机·嵌入式
老王IT11 小时前
C语言语法基础语法介绍
c语言·开发语言·算法
水饺编程11 小时前
第2章:Linux 基础,在 root 中创建用户账号
linux·c语言·汇编·1024程序员节
cu14312 小时前
细谈IT6563的具体功能与其应用
c语言·c++·单片机·嵌入式硬件
喜欢打篮球的普通人13 小时前
LLVM 前端与优化层:Clang 如何把 C 代码变成 IR
c语言·前端·状态模式
一个风轻云淡15 小时前
从 int $0x80 到 iret:用 gdb 把 getpid 走一遍
linux·c语言·开发语言·汇编
喜欢打篮球的普通人18 小时前
LLVM 架构设计与原理:为什么它能取代 GCC 成为新宠
c语言·开发语言
H.莓飛20 小时前
【数据结构】快速排序专题
linux·服务器·c语言·数据结构·visual studio
wuminyu20 小时前
JVM规范学习总结-JVM规范基本概念
java·linux·c语言·jvm·c++