AI与编程学习

在C语言中,指针通常与字符数组或字符串打交道时会涉及到ASCII码的转换,而不是用于表现多位数的第一位。`48`这个值对应的是ASCII码表中数字字符`'0'`的编码。

如果你有一个表示多位数的字符数组,例如:

c

char number[] = "1234";

这里你要获取第一位(即 `'1'`),只需要直接访问数组的第一个元素即可:

c

char firstDigit = number[0];

如果你想将这个字符转换成对应的十进制数值(也就是 `'1'` 转换成 `1`),可以这样做:

c

int digitValue = firstDigit - '0';

这里的减法操作实际上就是基于ASCII码的特性,将字符 `'1'` 的ASCII码值减去 `'0'` 的ASCII码值,结果就得到了数值 `1`。

但请注意,上述过程并不涉及指针的加减运算,而是对字符数组内容的操作。若要通过指针来完成相同任务:

c

char* ptr = number;

int digitValue = *(ptr++) - '0'; // 先取出第一位,并将指针指向下一个字符

这样,`digitValue` 就会是 `1`,同时指针 `ptr` 会指向 `'2'`。

相关推荐
POLITE33 分钟前
Leetcode 560. 和为 K 的子数组 JavaScript (Day 5)
javascript·算法·leetcode
Noushiki9 分钟前
RabbitMQ 基础 学习笔记1
笔记·学习·rabbitmq
知识分享小能手11 分钟前
Ubuntu入门学习教程,从入门到精通, Ubuntu 22.04中的任务计划详解(16)
linux·学习·ubuntu
我命由我1234522 分钟前
Photoshop - Photoshop 工具栏(53)画板工具
笔记·学习·职场和发展·求职招聘·职场发展·学习方法·photoshop
小马爱打代码44 分钟前
Spring Boot Actuator 学习笔记
spring boot·笔记·学习
名誉寒冰44 分钟前
AI云存储学习笔记:小文件优化 / 大文件分片 / 分享与 AI 搜索
linux·人工智能·笔记·学习
凌乱风雨12111 小时前
从源码角度解析C++20新特性如何简化线程超时取消
前端·算法·c++20
Jim-2ha01 小时前
【平面几何】判断一个点是否在任意多边形的内部
算法
橘颂TA1 小时前
【剑斩OFFER】算法的暴力美学——合并 k 个升序链表
算法·leetcode·牛客·结构与算法
学习是生活的调味剂1 小时前
在大模型开发中,是否需要先完整学习 TensorFlow,再学 PyTorch?
pytorch·学习·tensorflow·transformers