C细节补充
1负数取模的规则是计算得到的数值和除数和被除数的符号无关最后结果的符号由被除数的符号进行决定2运算符不可以比较两个字符串是否相等因为比较的是两者的地址 就算是常量字符串也不行。4,realloc进行缩容缩容过小会造成数据截断丢失数据。特殊reallocptr,0释放原来的内存返回NULL.不建议这样使用释放内存还是使用free和delete3,输出的结果为123456%5表示最少输出5个字符。不足5位通过空格进行补充。超过5位就正常输出。4如果print()有n个占位符 就有n1个参数n个占位符对应n个参数加上字符串就是n1个参数。5scanf中的占位符%s表示读取一个字符串遇到空白就停止6scanf处理数值占位符时会自动跳过空白字符包括空格制表符换行符。处理字符占位符时不会忽略空白字符空格换行符制表符占位符类型是否跳过空白字符说明数值型%d%f%lf%x等✅自动跳过忽略输入前的空格、制表符、换行符字符串%s✅自动跳过忽略前导空白读到空白字符停止字符%c❌不跳过读取当前第一个字符包括空格和换行符%d无论中间有多少个空格都会跳过应为他读取的是数字%c表示读取字符空白字符也是字符所以会读取输入的A前面是一个/n,a1读取了/n,a2读取了“A”.打印时先打印一个换行符再打印字符A补充1此处可见没有省略空白字符导致c2为空格7变长数组VLAC99之前没有变长数组在定义和初始化时数组[]中的数必须是常数但是在C99之后引了变长数组后只要变量提前已经赋一个常数值就可以在[]填入一个变量。特殊的C不支持变长数组。MSVC编译器微软的MSVC编译器至今没有完整支持C99标准中的变长数组VLA它主要支持的是C标准C标准本身不支持变长数组。变长数组(VLA)的注意事项_1,VLA不能进行初始化int n 10;int arr[n] {0} X原因数组在编译时就要进行初始化但是此时变量n不存在。变量n在运行时才存在。_2VLA不能时全局变量和静态变量原因全局变量和静态变量在程序启动前内存就分配完成了大小是一个编译期常量。而VLA是运行时变量_3当变量n过大时arr[n]可能导致栈溢出int n 1000000;int arr[n]; //栈溢出风险_4变长数组的大小一旦确定就无法进行改变。8,sizeof(acX sizeof(acYacX中的字符比acY中的字符多一个“\0,所以更大strlen(acX)和strlen(acY)无法进行比较因为strlen记录的时”\0”前的字符个数。acY中没有\0,所以strlen(acY)是一个随机值。9函数的实参不止可以是变量也可以是常数表达式函数返回值数组元素结构体成员宏定义等等。10左对齐和右对齐右对齐:例%2d 右对齐不足的补充空格 超过2位原样输出%2f同理右对齐不足两位用空格补充。%.2d 和 %02d右对齐不足的补充0超过2位原样输出%.2f精度控制为2位小数点后保留两位。左对齐%-2d 左对齐不足的用空格进行补充超过2位原样输出11,数组的逆置void reserve(int arr[],int size) { int left 0; int right size - 1; while (left right--) { int tmp arr[left]; arr[left] arr[right]; arr[right] tmp; } }12判断素数#include stdbool.h #include math.h //实现判断素数的函数 bool is_prime(int k) { //处理特殊情况--负数01都不是素数 if (k 1) { return false; } int n sqrt(k); //防止每次都计算sqrt(k) for (int i 2;i n;i) { if (k % i 0) { return false; } } return true; }13轮转数组解法一再创建一个数组回头拷贝void rotate(int* nums, int numsSize, int k) { //使用额外的数组最后拷贝回去 int arr1[numsSize]; for(int i 0;inumsSize;i) { //ki%numsSize //这个式子不仅考虑超出时循环的情况 //还考虑了不同的初始位置的影响 arr1[(ki) % numsSize] nums[i]; } //拷贝回去 for(int i 0;inumsSize;i) { nums[i] arr1[i]; } }时间复杂度和空间复杂度都为O(n)解法二翻转数组原理//交换两个元素值 void Swap(int* a,int* b) { int t *a; *a *b; *b t; } //翻转数组 void reserve(int num[],int start,int end) { while(startend)//不能在这里直接对start和end--因为后面还要使用 { Swap(num[start],num[end]); start; end--; } } void rotate(int* nums, int numsSize, int k) { //解决循环 k % numsSize; //翻转数组写法 reserve(nums,0,numsSize-1); reserve(nums,0,k-1); reserve(nums,k,numsSize-1); }14打印水仙花数//打印0~100000之间的水仙花数 //常见问题--计算之后丢失原来的值要进行提前赋值保存 int main() { for (int i 0;i 100000;i) { int c i; int tmp c; if (c 0) { printf(0 ); continue; } //记录位数 int a 0; while (c 0) { c c / 10; a; } //计算之后c丢失原始值 int count 0; int j a; while (j--) { //得到每一位--每次求最后一位 int n tmp % 10; tmp / 10; count pow(n, a); } if (count i) { printf(%d , count); } } return 0; }15不创建额外变量实现两个数的交换//交换两个变量 //方法一--使用异或操作符 void Judgement1(int* a, int* b) { //a ^ 0 a a ^ a 0 *a *a ^ *b; *b *a ^ *b; *a *a ^ *b; } //加减交换法 void Judgement2(int* a, int* b) { *a *a *b; *b *a - *b; *a *a - *b; } int main() { int a 3; int b 5; printf(%d %d\n, a, b); Judgement2(a, b); printf(%d %d, a, b); }

相关新闻

革命性深度学习库Larq:如何用1位权重构建高效二值化神经网络?

革命性深度学习库Larq:如何用1位权重构建高效二值化神经网络?

革命性深度学习库Larq:如何用1位权重构建高效二值化神经网络? 【免费下载链接】larq An Open-Source Library for Training Binarized Neural Networks 项目地址: https://gitcode.com/gh_mirrors/la/larq 在深度学习领域,模型大小和计…

2026/7/25 15:22:24 阅读更多 →
Xamarin.Forms核心组件详解:ContentPage与布局实战指南

Xamarin.Forms核心组件详解:ContentPage与布局实战指南

Xamarin.Forms核心组件详解:ContentPage与布局实战指南 【免费下载链接】xamarin-forms-book-samples Code samples for "Creating Mobile Apps with Xamarin.Forms" 项目地址: https://gitcode.com/gh_mirrors/xa/xamarin-forms-book-samples 想要…

2026/7/25 15:22:22 阅读更多 →
Freeze.rs终极指南:如何利用Rust打造EDR绕过神器

Freeze.rs终极指南:如何利用Rust打造EDR绕过神器

Freeze.rs终极指南:如何利用Rust打造EDR绕过神器 【免费下载链接】Freeze.rs Freeze.rs is a payload toolkit for bypassing EDRs using suspended processes, direct syscalls written in RUST 项目地址: https://gitcode.com/gh_mirrors/fr/Freeze.rs Fre…

2026/7/25 17:06:30 阅读更多 →

最新新闻

基于规则与NLP的信息抽取:从非结构化文本到结构化数据实战

基于规则与NLP的信息抽取:从非结构化文本到结构化数据实战

在实际技术项目中,我们经常需要处理来自不同数据源、格式各异且包含大量非结构化文本的信息。例如,从新闻网站、社交媒体或内部报告爬取的数据,往往混杂着事实描述、观点评论乃至无关的噪声。直接将这些原始文本存入数据库或进行分析&#xf…

2026/7/25 23:08:08 阅读更多 →
【毕业设计】基于Django的智慧校园个性化阅读辅助推荐系统 图书评分收藏驱动的智能推荐系统(源码+文档+远程调试,全bao定制等)

【毕业设计】基于Django的智慧校园个性化阅读辅助推荐系统 图书评分收藏驱动的智能推荐系统(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/25 23:08:08 阅读更多 →
Anthropic与五角大楼Claude军事应用控权之争的技术与政策博弈

Anthropic与五角大楼Claude军事应用控权之争的技术与政策博弈

这次我们来看一个备受关注的技术与政策交叉议题——Anthropic与五角大楼围绕Claude军事用途的控权之争。这不是简单的商业合作纠纷,而是涉及AI安全护栏定义、技术控制权归属和国家安全边界的复杂博弈。从技术角度看,Claude作为Anthropic开发的大语言模型…

2026/7/25 23:08:08 阅读更多 →
3个实用技巧让你的Windows电脑告别内存卡顿:MemReduct超轻量内存管理方案

3个实用技巧让你的Windows电脑告别内存卡顿:MemReduct超轻量内存管理方案

3个实用技巧让你的Windows电脑告别内存卡顿:MemReduct超轻量内存管理方案 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me…

2026/7/25 23:08:08 阅读更多 →
Jellium Desktop音频均衡器教程:创建专业音效配置

Jellium Desktop音频均衡器教程:创建专业音效配置

Jellium Desktop音频均衡器教程:创建专业音效配置 【免费下载链接】jellium-desktop An unofficial desktop client for Jellyfin 项目地址: https://gitcode.com/GitHub_Trending/je/jellium-desktop Jellium Desktop是一款功能强大的Jellyfin非官方桌面客户…

2026/7/25 23:08:08 阅读更多 →
四大操作系统深度对比:Windows、macOS、Linux与鸿蒙的核心差异与跨平台协作指南

四大操作系统深度对比:Windows、macOS、Linux与鸿蒙的核心差异与跨平台协作指南

这次我们来看一个多设备用户最关心的问题:Windows、macOS、Linux、鸿蒙,这四大主流操作系统到底有什么区别?对于开发者、运维、设计师和普通用户来说,选择哪个系统,或者如何让不同系统的设备协同工作,是一个…

2026/7/25 23:07:08 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 5:08:22 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 5:13:53 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻