C语言—字符函数和字符串函数
1.字符分类函数
字符控制函数:int iscntrl ( int c );
控制字符通常不是可打印字符,该函数是用来判断参数是否为控制字符,需要的头文件为<ctype.h>
标准ASCII码中,不可打印字符主要包括以下两类:
控制字符:这些字符的ASCII编码值在0到31之间(包括0和31),以及127。常见的控制字符及其功能如下:
0 (NUL)-空字符,用于字符串的结束
1 (SOH)-文头,用于标识消息的开始
2 (STX)-文本开始
3 (ETX)-文本结束
4 (EOT)-文尾,表示数据结束
5 (ENQ)-询问,用于请求响应
6 (ACK)-确认,表示正确接收
7 (BEL)-响铃,用于发出声音警告
8 (BS)-退格,用于删除字符
9 (HT)-制表符,用于水平制表
10 (LF)-换行符,用于换行
12 (FF)-换页符,用于换页
13 (CR)-回车符,用于回车
31 (DEL)-删除字符,用于删除字符。
通信专用字符:这些字符也属于不可打印字符,用于特定的通信功能,例如SOH(文头)、EOT(文尾)等。
使用场景和功能
不可打印字符主要用于控制外围设备或显示器的行为。例如:
换行符?:\n(LF,ASCII值为10)用于在文本中创建新行。
回车符:\r?(CR,ASCII值为13)用于返回行首。
退格:\b?(BS,ASCII值为8)用于删除字符。
制表符:\t?(HT,ASCII值为9)用于水平制表。
响铃?:\a(BEL,ASCII值为7)用于发出声音警告。
例子:字符分类函数的使用方法类似
输出:
常见的字符分类函数
返回值:如果表达式为真返回非零值,否则返回0或EOF,表示为假。
2.字符转换函数
tolower和toupper
tolower函数是将大小字母转换为小写字母,函数的声明为:int tolower(int c);
toupper函数是将小写字母转换为大小字母,函数的声明为:int toipper(int c);
例子:将字符a转换为字符A,将字符X转换为x;
3. 字符串函数
所有字符串函数的使用对应的头文件是<string.h>或<cstring>
3.1 strlen函数
strlen函数是用来字符串\0前出现的字符个数,参数是字符串的起始地址,返回类型是无符号整型
strlen的模拟实现,使用递归的方式实现
3.2 strcpy函数
strcpy函数是将源头字符串拷贝到目标字符串中,第一个参数是目标字符串的起始地址,第二个参数是源头字符串的起始地址,返回的参数是char*类型,返回的是目标字符串的起始地址。
通过按F10启动调试观察ch1和ch2数组拷贝前的元素
调用strcpy函数后,ch2数组的内容拷贝到ch1数组上
strcpy的模拟实现
例子
启动调试观察到arr2字符串的\0也拷贝到目标字符串中
3.3 strcat函数
strcat函数的功能是在目标字符串后追加一个字符串,第一个参数是目标字符串的起始地址,第二个参数是追加字符串的地址,返回值是目标字符串的起始地址。
strcat的模拟实现
例子
启动调试观察窗口
3.4 strcmp函数
strcmp函数是用来比较两个字符串的大小关系,通过一对对字节来比较,直到\0为止;两个参数是需要比较的两个字符串的起始地址,返回值为int,如果str1>str2,返回大于0的数,如果str1 ==str2,返回0,如果str1 < str2,返回小于0的数。
按F10启动调试,第一次输入123456,input数组输入替换为123456
第二次输出666666,input数组被替换的部分为66666
第三次输入888888 ,与密码匹配,strcmp返回0,正确输出
strcmp的模拟实现
例子
3.5 strnncpy函数
与strcpy类似,功能是将源头字符串拷贝到目标字符串中,但是与strcpy区别的是strncpy有第三个参数,单位是字节,可以指定拷贝的字符个数。
按F10启动调试观察,strncpy调用后,将指定字节的数据拷贝,但是在末尾没有补\0
strncpy模拟实现:strncpy的源头字符串长度没有拷贝字符串长度长时,将剩下需要拷贝数组补\0
例子
3.6 strncat函数
strncat是指定字节个数将源头字符串的数组追加到目标字符串后,第一个参数是目标字符串的起始地址,第二个参数是源头字符串起始地址,第三个参数是需要拷贝的字节个数,返回值是目标字符串的起始地址。
按F10启动调试,可以观察到调用strncat函数后,原本p1数组为\0的位置被替换,p2数组不足5个字节,在拷贝p2数组\0前的数据后在p1数组后补一个\0后不再拷贝数据。
strncat的模拟实现
法一:使用for循环
法二:使用while循环
3.7 strstr函数的使用
strstr是在主串中寻找是否存在子串,如果找到返回在主串中第一次出现的起始位置,如果没有找到返回空指针NULL,strstr函数的声明需要两个参数,第一个参数的主串的起始位置的指针,第二个位置是子串的起始位置指针,返回值:如果找到返回在主串中第一次出现的起始位置,如果没有找到返回空指针NULL。
a主串中包含b子串,返回值pr接收主串第一次出现子串的位置,指向字符 'a' 的位置。
strstr的模拟实现,因为strstr的实现方式有比较多的方式,此处模拟实现的是最简单的一种,高效的实现方式有BF算法和KPM算法,此处不做具体接受,推荐链接:主要实现NEXT数组和VALUE数组,实现 i(主串下标)不退,j(字串下标)根据Next数组回退。
【完整版】终于有人讲清楚了KMP算法,Java语言C语言实现_哔哩哔哩_bilibili
s1是指向主串的指针,s2是指向子串的指针,p是记录主串的位置;第一次解引用s1 和 s2不匹配,p就指向第二个字符的位置,重新将p的值赋给s1,子串的起始位置重新赋给s2。
一直循环s1 和 s2 的解引用的解引用操作,直到子串遇到\0匹配成功或者匹配失败终止。
3.8 strtok函数的使用
strtok函数是将指定字符串中的分隔符替换为\0,第一个参数是字符串起始位置,第二参数是分隔符的地址,第一次调用,如果字符串有指定分隔符,返回字符串起始位置的地址,再次调用时,第一个参数为NULL,如果字符串中找到指定分割符,将分隔符替换为\0,返回上一次替换分隔符位置的下一位置,如果调用时查找的字符串没有指定分隔符,返回空指针。
在上图字符串中,abc后有一个指定分隔符 ‘ . ’ ,第一次调用strtok将‘ . ' 替换为\0,返回指向a的地址,第二次调用strtok时,将f后的' .' 替换为\0返回指向e的地址,第三次调用strtok函数,将s后的 ' . '替换为\0,返回指向s的地址,第四次调用没有分割符,传回上一个分隔符的下一位置,第五次时是访问的空间不属于字符串,返回NULL。
strtok的模拟实现
3.9 strerror函数
strerror函数通过标准错误的标号,获得错误的描述字符串 ,将单纯的错误标号转为字符串描述,方便用户查找错误。
strerror函数中的参数经常会使用errno,errno是一个全局变量,用来存放错误码,当程序错误是,会将错误信息存放于这个错误码中,使用这一个错误码需要包含其头文件<errno.h>.
以上是常见的字符相关的函数,更多的字符函数可以打开c语言库函数进一步了解:
<cstring> (string.h) - C++ Reference
相关文章:
C语言—字符函数和字符串函数
1.字符分类函数 字符控制函数:int iscntrl ( int c ); 控制字符通常不是可打印字符,该函数是用来判断参数是否为控制字符,需要的头文件为<ctype.h>标准ASCII码中,不可打印字符主要包括以下两类: 控制字符&…...
【LeetCode】大厂面试算法真题回忆(93)--优雅数组
题目描述 如果一个数组中出现次数最多的元素出现大于等于k次,被称为k-优雅数组,k也可以被称为优雅阈值。 例如,数组[1, 2, 3, 1, 2, 3, 1],它是一个3-优雅数组,因为元素1出现次数大于等于3次。数组[1, 2, 3, 1, 2]就不是一个3-优雅数组,因为其中出现次数最多的元素是1和…...
【MySQL成神之路】MySQL常用语法总结
目录 MySQL 语法总结 数据库操作 表操作 数据操作 查询语句 索引操作 约束 事务控制 视图操作 存储过程和函数 触发器 用户和权限管理 数据库操作 创建数据库: CREATE DATABASE database_name; 选择数据库: USE database_name; 删除数…...
机器学习第十六讲:K-means → 自动把超市顾客分成不同消费群体
机器学习第十六讲:K-means → 自动把超市顾客分成不同消费群体 资料取自《零基础学机器学习》。 查看总目录:学习大纲 关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南 K-me…...
多商户1.8.1版本前端问题优化集合指南
1、逛逛社区上传一张图时,进入详情页面显示不出来 修改路径:pages ---> discover ---> components ---> discoverDetails.vue 解读:这里是因为图片高度没有定义,图片没显示出来。修改如下: <!--逛逛类型为…...
基于正点原子阿波罗F429开发板的LWIP应用(1)——网络ping通
说在开头 正点原子F429开发板主芯片采用的是STM32F429IGT6,网络PHY芯片采用的是LAN8720A(V1)和YT8512C(V2),采用的是RMII连接,PHY_ADDR为0;在代码中将会对不同的芯片做出适配。 CubeMX版本:6.6.1; F4芯片组…...
第 1 章:数字 I/O 与串口通信(GPIO UART)
本章目标: 掌握 GPIO 的硬件原理、寄存器配置与典型驱动框架 深入理解 UART/USART 的帧格式、波特率配置、中断与 DMA 驱动 通过实战案例,将 GPIO 与 UART 结合,实现 AT 命令式外设控制 章节结构 GPIO 概述与硬件原理 GPIO 驱动实现:寄存器、中断与去抖 UART/USART 原理与帧…...
MCU 温度采样理论(-ADC Temperature sensor)
温度传感器可以使用ADC来测量芯片温度。 为了准确测量运行时的芯片温度,请使用在生产过程中运行的参考测量值,此参考值与其他校准数据一起存放在SFlash中。 一、温度测量流程 1、ADC校准:关于偏移和增益调整的实例,见9.3。 2、检查CREFH和VREL:参见8.2。 3、设置参考…...
stm32week16
stm32学习 十一.中断 4.使用中断 EXTI的配置步骤: 使能GPIO时钟设置GPIO输入模式使能AFIO/SYSCFG时钟设置EXTI和IO对应关系设置EXTI屏蔽,上/下沿设置NVIC设计中断服务函数 HAL库的使用: 使能GPIO时钟:__HAL_RCC_GPIOx_CLK_EN…...
隨筆 20250519 基于MAUI Blazor整合SQLite数据库与Star打印机的详细步骤
以下是基于MAUI Blazor整合SQLite数据库与Star打印机的详细步骤,包含必要的NuGet包引入及核心代码实现: 零、目錄結構 一、整合SQLite数据库 1. 安装NuGet包 # SQLite核心库 Install-Package sqlite-net-pcl # SQLite平台适配库&am…...
电子电路原理第十六章(负反馈)
1927年8月,年轻的工程师哈罗德布莱克(Harold Black)从纽约斯塔顿岛坐渡轮去上班。为了打发时间,他粗略写下了关于一个新想法的几个方程式。后来又经过反复修改, 布莱克提交了这个创意的专利申请。起初这个全新的创意被认为像“永动机”一样愚蠢可笑,专利申请也遭到拒绝。但…...
推客小程序系统开发:全栈式技术解决方案与行业赋能实践
在数字化营销深度渗透各行业的当下,传统推广模式已难以满足企业精细化运营与高效获客的需求。专业的推客小程序系统凭借其强大的裂变传播能力与灵活的推广机制,成为企业构建私域流量池、提升推广效能的核心工具。我们基于多年技术沉淀与行业洞察&…...
【prometheus+Grafana篇】基于Prometheus+Grafana实现Oracle数据库的监控与可视化
💫《博主主页》: 🔎 CSDN主页 🔎 IF Club社区主页 🔥《擅长领域》:擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控;并对SQLserver、NoSQL(MongoDB)有了…...
【Android构建系统】Soong构建系统,通过.bp + .go定制编译
背景介绍 本篇是一篇实操内容,是对【Android构建系统】如何在Camera Hal的Android.bp中选择性引用某个模块的优化与改进。本篇内容主要想通过一个具体例子介绍Soong构建系统较复杂的定制化方法和步骤,以便在今后的工作学习中更好的使用Soong构建系统。 …...
Qt开发:QUdpSocket的详解
文章目录 一、QUdpSocket 简介二、常用函数的介绍和使用三、接收端完整示例四、发送端完整示例 一、QUdpSocket 简介 在 Qt 中,UDP(User Datagram Protocol,用户数据报协议)是通过 QUdpSocket 类实现的。UDP 是一种无连接的、轻量…...
【android bluetooth 协议分析 01】【HCI 层介绍 9】【ReadLocalSupportedCommands命令介绍】
1. HCI_Read_Local_Supported_Commands 命令介绍 1. 命令介绍(Description) HCI_Read_Local_Supported_Commands 是 HCI 层中非常重要的查询命令。它允许 Host(如 Android 系统中的 Bluetooth stack)获取 Controller(…...
Model 速通系列(一)nanoGPT
这个是新开的一个系列用来手把手复现一些模型工程,之所以开这个系列是因为有人留言说看到一个工程不知道从哪里读起,出于对自身能力的提升与兴趣,故新开了这个系列。由于主要动机是顺一遍代码并提供注释。 该系列第一篇博客是 nanoGPT &…...
星际争霸小程序:用Java实现策略模式的星际大战
在游戏开发的世界里,策略模式是一种非常实用的设计模式,它允许我们在运行时动态地选择算法或行为。今天,我将带你走进一场星际争霸的奇幻之旅,用Java实现一个简单的星际争霸小程序,通过策略模式来模拟不同种族单位的战…...
网络Tips20-007
网络威胁会导致非授权访问、信息泄露、数据被破坏等网络安全事件发生, 其常见的网络威胁包括窃听、拒绝服务、病毒、木马、( 数据完整性破坏 )等, 常见的网络安全防范措施包括访问控制、审计、身份认证、数字签名、( 数据加密 )、 包过滤和检测等。 AE…...
2.微服务-配置
引入springcloud的pom配置 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.12</version><relativePath/></parent> <dependencyManagemen…...
python实现pdf转图片(针对每一页)
from pdf2image import convert_from_path import ospdf_file rC:\Users\\Desktop\拆分\产权证.pdf poppler_path rC:\poppler-24.08.0\Library\bin # 这里改成你自己的路径output_dir rC:\Users\\Desktop\拆分\output_images os.makedirs(output_dir, exist_okTrue)image…...
Python编程从入门到实践 PDF 高清版
各位程序员朋友们,还在为找不到合适的Python学习资料而烦恼吗?还在为晦涩难懂的编程书籍而头疼吗?今天,就给大家带来一份重磅福利——237完整版PDF, 我用网盘分享了「Python编程:从入门到实践__超清版.pdf…...
CVE-2015-3934 Fiyo CMS SQL注入
CVE-2015-3934 Fiyo CMS SQL注入 页面抓登录数据包 构造延时注入语句在user处’%2B(select(0)from(select(sleep(5)))v)%2B’ 存在延时注入,使用脚本即可...
【Pandas】pandas DataFrame mode
Pandas2.2 DataFrame Computations descriptive stats 方法描述DataFrame.abs()用于返回 DataFrame 中每个元素的绝对值DataFrame.all([axis, bool_only, skipna])用于判断 DataFrame 中是否所有元素在指定轴上都为 TrueDataFrame.any(*[, axis, bool_only, skipna])用于判断…...
(思维题、贪心)洛谷 P11232 CSPS2024 超速检测 题解
这一题在 2024 将我击败,但我怎么现在才补题解 …… 题意 原题 思路 对于每一辆车,我们可以算出,其在距离左端点哪段位置会超速 [ l , r ] [l,r] [l,r],那么这辆车会被 l l l 右侧最近的测速仪到 r r r 左侧最近的测速仪检…...
C#:多线程
一.线程常用概念 线程(Thread):操作系统执行程序的最小单位 进程(Process):程序在内存中的运行实例 并发(Concurrency):多个任务交替执行(单核CPU࿰…...
虚拟币制度钱包开发:功能设计与成本全解析
虚拟币制度钱包开发:功能设计与成本全解析 ——从基础架构到合规风控的完整解决方案 一、开发成本:分层定价与关键影响因素 根据2024-2025年行业数据显示,虚拟币钱包App开发成本跨度较大,主要受功能复杂度、技术架构与合规要求三…...
TransmittableThreadLocal实现上下文传递-笔记
1.TransmittableThreadLocal简介 com.alibaba.ttl.TransmittableThreadLocal(简称 TTL)是阿里巴巴开源的一个工具类,旨在解决 ThreadLocal 在线程池中无法传递上下文变量 的问题。它是对 InheritableThreadLocal 的增强,尤其适用…...
应对WEEE 2025:猎板PCB的区块链追溯与高温基材创新
在全球电子产业加速向循环经济转型的背景下,欧盟《绿色新政》与《WEEE指令》对PCB行业提出更高要求。作为行业先行者,猎板PCB(Hunter PCB)以生物降解基材为核心,结合全球合规体系与产业链协同创新,构建从材…...
大陆资产在香港发行RWA的合规路径与核心限制
大陆资产在香港发行RWA的合规路径与核心限制 ——从“双重合规原则”到资产准入边界的全景解读 一、法律框架:双重合规原则的刚性约束 根据香港金管局Ensemble沙盒项目要求,大陆资产在香港发行RWA需遵循“双重合规原则”,即底层资产需同时符…...
爬虫攻防战:从入门到放弃的完整对抗史与实战解决方案
爬虫攻防战:从入门到放弃的完整对抗史与实战解决方案 这张有趣的图片生动描绘了爬虫开发者与反爬工程师之间的"军备竞赛"。作为技术博主,我将基于这张图的各个阶段,深入分析爬虫技术的演进与对应的反制措施,提供一套完整的反爬解决方案,包括技术原理、实施方法…...
Fabric初体验(踩坑笔记)
搭建fabric部署合约学习笔记 环境准备CURl安装docker 参照官网文档实现(2025.05.19)根据前言交代的文章去尝试(失败版)安装fabric-samples安装指定2.2.0版本Fabric二进制文件和配置文件直接手动下载(不建议)…...
区块链blog2_中心化与效率
🌿中心化出现原因 信息/服务分散在各处会浪费时间且不方便使用,由此,把信息/服务集中在一起,便于管理,避免了不必要的效率损失。 即集中资源,使得对信息处理的全过程效率升高。中心化不是网络中产生的&…...
2024年ASOC SCI2区TOP,多机制群优化算法+多风场输电线路巡检中多无人机任务分配与路径规划,深度解析+性能实测
目录 1.摘要2.考虑风场影响的多无人机任务分配3.基于双向蚁群和离散蜜獾算法求解多无人机任务分配问题(BACOHBA)4.考虑风场的多无人机路径规划5.结果展示6.参考文献7.代码获取8.读者交流 1.摘要 随着电力系统规模的不断扩大,复杂环境下的电力线路及设施的巡检与维护…...
智慧赋能光伏运维——无人机巡检+地面监控双链路覆盖,打造光伏电站管理新标杆
一、引言:光伏电站运维的挑战与机遇 在全球能源转型浪潮下,光伏电站作为清洁能源的重要载体,其高效运维管理成为行业核心命题。然而,传统光伏电站运维存在覆盖范围广、设备分散、人工巡检效率低、故障响应慢等痛点。为破解这一难…...
c/c++的opencv开闭操作
OpenCV 中的形态学开运算与闭运算 (C) 在计算机视觉和图像处理领域,形态学操作是用于分析和处理图像形状的一系列非线性操作。OpenCV 作为一个强大的开源计算机视觉库,提供了丰富的形态学转换函数。其中,“开运算”(Opening&…...
Linux利用多线程和线程同步实现一个简单的聊天服务器
1. 概述 本文实现一个基于TCP/IP的简单多人聊天室程序。它包含一个服务器端和一个客户端:服务器能够接收多个客户端的连接,并将任何一个客户端发来的消息广播给所有其他连接的客户端;客户端则可以连接到服务器,发送消息并接收来自…...
无人机遥控器光纤通信模块技术要点!
一、技术要点 1. 长距离低损耗传输 采用单模光纤(如G.654.E光纤),利用光纤的低衰减特性(0.17 dB/km以下),支持10公里以上的远距离通信,突破了传统无线信号因衰减导致的覆盖限制。例如&…...
深入解析OkHttp与Retrofit:Android网络请求的黄金组合
前言 在移动应用开发中,网络请求是连接客户端与服务器的关键桥梁。对于Android开发者而言,OkHttp和Retrofit这对组合已经成为处理网络请求的事实标准。本文将全面剖析这两个框架的设计理念、核心功能、协同关系以及最佳实践,帮助开发者构建高…...
Python操作PDF书签详解 - 添加、修改、提取和删除
目录 简介 使用工具 Python 向 PDF 添加书签 添加书签 添加嵌套书签 Python 修改 PDF 书签 Python 展开或折叠 PDF 书签 Python 提取 PDF 书签 Python 删除 PDF 书签 简介 PDF 书签是 PDF 文件中的导航工具,通常包含一个标题和一个跳转位置(如…...
Spring Boot与Kafka集成实践:从入门到实战
Spring Boot与Kafka集成实践 引言 在现代分布式系统中,消息队列是不可或缺的组件之一。Apache Kafka作为一种高吞吐量的分布式消息系统,广泛应用于日志收集、流处理、事件驱动架构等场景。Spring Boot作为Java生态中最流行的微服务框架,提供…...
luckysheet的使用——17.将表格作为pdf下载到本地
luckysheet源码里面自带有打印按钮,但是功能是无法使用的,所以我把该功能重写了一遍 1.在menuButton.js文件中找到源码打印按钮的触发事件: $("#luckysheet-icon-print").click(function () {}2.使用自己写的挂载方法 window.pr…...
矿井支架LCYVB-6钢丝编织护套连接器介绍
LCYVB-6钢丝编织护套连接器是一种专为矿井支架设计的连接装置,主要用于增强支架的稳定性和安全性。该连接器采用高强度钢丝编织护套,具有优异的抗拉强度和耐磨性,适用于恶劣的矿井环境。 主要特点 高强度钢丝编织护套:采用优质钢…...
git仓库中.git 文件很大,怎么清理掉一部分
查询 .git 文件大小,在 git-bash 里执行(后面有些命令不能执行,也请在 git-bash 里执行) windows11 安装好后右键没有 git bash 命令-CSDN博客 du -sh .git // 592m .git 操作前最好先备份一份,避免推送到远程时出错…...
Qt框架核心组件完全指南:从按钮交互到定时器实现
文章目录 前言一、QAbstractButton 按钮类概述1.1 常用属性1.2 常用信号1.3QButtonGroup 按钮组 二、QComboBox 组合框三、若干与数字相关的组件四、QString 字符串类五、Qt容器类5.1 顺序容器 QList5.2 关联容器 QMap 六、QVariant七、跨平台数据类型7.1 基础数据类型7.2 特殊…...
Axure设计数字乡村可视化大屏:从布局到交互的实战经验分享
乡村治理正从传统模式向“数据驱动”转型。数字乡村可视化大屏作为数据展示的核心载体,不仅能直观呈现乡村发展全貌,还能为决策提供科学依据。本文以Axure为工具,结合实际案例,分享如何从零设计一个功能完备、交互流畅的数字乡村大…...
60天python训练计划----day30
DAY 30 模块和库的导入 知识点回顾: 导入官方库的三种手段导入自定义库/模块的方式导入库/模块的核心逻辑:找到根目录(python解释器的目录和终端的目录不一致) 一.导入官方库 我们复盘下学习python的逻辑,所谓学习pyth…...
HJ3 明明的随机数【牛客网】
文章目录 零、原题链接一、题目描述二、测试用例三、解题思路3.1 快排去重3.2 散列 四、参考代码4.1 快排去重4.2 散列 零、原题链接 HJ3 明明的随机数 一、题目描述 二、测试用例 三、解题思路 3.1 快排去重 基本思路: 先将序列进行快速排序,然后…...
BGP选路
一、拓扑图 二、要求及分析 1.要求 1.使用Preva1策略,确保R4通过R2到达192.168.10.0/24 2、用As Path策略,确保R4通过R3到达192.168.11.0/24 3.配置MED策略,确保R4通过R3到达192.168.12.0/24 4.使用Local Preference策略,确保…...
践行“科学智能”!和鲸打造 AI for Science 专属应用
AI for good, AI for Science. 在传统科研领域,人力与经验的局限始终如影随形。而“AI for Science”正逐渐改变科学研究的模式,以科学数据为基石、以强大算力为支撑,借助人工智能技术,开展计算密集度高且能够实现高效迭代的科学…...