字符转 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。

相关推荐
C++ 老炮儿的技术栈5 小时前
main函数之后的调用
c语言·c++·人工智能·qt·mfc·c
小师兄吃牛肉7 小时前
C语言指针进阶全解析
java·c语言·算法
大侠归来9 小时前
C语言素数判断:从入门到进阶
java·c语言·算法
大圣编蚕9 小时前
C语言核心知识复习:预处理、头文件、强制类型转换、错误处理、递归与内存管理
c语言·开发语言
anew___10 小时前
《从零手写操作系统 (21):用户态C运行时——从裸ELF到printf》
linux·服务器·c语言
HEJOO910 小时前
指针与结构体:C 语言进阶核心详解
c语言·开发语言·网络
Logic10110 小时前
关于汉诺塔问题的分析
c语言·算法·递归·函数·解题思路·递归函数·汉诺塔问题
水饺编程12 小时前
第1章:在 Windows 中安装 GCC 套件
c语言·汇编
殷色玫瑰12 小时前
C语言编译和链接:从 .c到 .exe,程序到底经历了什么?
linux·c语言·c++·算法
大侠归来13 小时前
C 与 Go 语言对比:从设计哲学到工程实践
java·c语言·golang