c语言复习

scanf

零,scanf是以行输入的

输入是以行进行的,也就是每有一个scanf行输入一个回车

scanf输入时需要注意的点

如果一次输入如多个数据,则需要按照分割参数的方法分割开输入的数据

使用scanf_s读取三个整数,输入时需要严格匹配格式字符串中的分隔符

一、字符输入的 “空白符残留” 问题

使用%c读取字符时,前序输入的回车 / 空格会被当作字符读取

// 示例:先输入整数,再输入字符 int a; char ch; scanf("%d", &a); // 输入10后按回车 scanf("%c", &ch); // 此时ch会读取到“回车符(\n)”,而非预期的字符

解决:在%c前加空格,跳过空白符:

scanf(" %c", &ch); // 空格会匹配任意空白符(回车/空格/制表符)

二、字符串输入的 “截断” 与 “缓冲区溢出”

  • %s的截断问题%s会读取到 “空白符(空格 / 回车)” 为止,无法读取带空格的字符串(如输入hello world,只会读取hello);
  • scanf_s的长度参数错误:若传入的长度参数大于缓冲区实际长度,仍会导致溢出(需严格传数组长度-1,预留\0位置):
    char str[5]; scanf_s("%s", str, 10); // 错误:长度10超过数组长度5

三、输入类型不匹配导致的 “死循环”

若输入的内容与格式符类型不匹配(如用%d读取字母),输入流会残留错误数据,导致后续输入全部失败

int a; while (1) { printf("输入整数:"); scanf("%d", &a); // 若输入字母,scanf返回0(匹配失败),错误数据留在输入流 }

解决:匹配失败时清空输入流:

if (scanf("%d", &a) != 1) { while (getchar() != '\n'); // 清空当前行的错误输入 printf("输入错误,请重新输入!\n"); }

四、多组输入的 “循环终止条件” 错误

处理多组输入时,错误使用while(scanf(...))的终止逻辑:

// 错误:输入EOF(Ctrl+Z/Ctrl+D)时才终止,但实际场景中易遗漏终止条件 int a; while (scanf("%d", &a) == 1) { printf("%d\n", a); }

解决:明确业务终止条件(如输入 0 终止):

int a; while (1) { scanf("%d", &a); if (a == 0) break; // 输入0时终止 printf("%d\n", a); }

变量

标识符只能由字母,数字和下划线组成,数字不可以出现在第一个位置上

赋值

初始化

—所有的变量在第一次被使用(出现在赋值运算符右边)之前应该被初始化一次

所有的变量在第一次被使用(出现在赋值运算符右边)之前应该被初始化一次

初始化时,必须一个数据对应一个变量,不可以一把一个值赋值给多个变量,必须一个一个赋值

如果强行赋值会报错

必须一个一个赋值,不能统一赋值(除了数组)

常量vs变量:不变的量是常量

用名字表示一个数字的含义,

放在int main()函数里面开头位置可以很快地找到

运算符

a*-b是先算-b再算a*(-b)

复合赋值

前缀和后缀

a++和++a的运算结果是有区别的,虽然都对a进行了+1

但是a++是取得了a+1之前的结果(a确实也放在前面),a++表达式的值是a的原来的值

关系运算符

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1118526.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

结构化推理场景首选:VibeThinker-1.5B应用案例解析

VibeThinker-1.5B:小模型如何打赢高难度推理战? 在大模型动辄数百亿、上千亿参数的今天,一个仅15亿参数的“小个子”却频频在数学竞赛和编程挑战中击败巨无霸——这听起来像极了AI领域的“田忌赛马”。而主角正是微博开源的实验性模型 VibeTh…

如何将照片合集制成二维码?图片生成二维码指南

在分享旅行回忆、活动花絮、产品图集或家庭相册时,一张张发送照片既繁琐又占空间。其实,只需一个二维码,就能把整套照片打包分享给他人——对方扫码即可在线浏览全部图片,无需下载多个文件。本文将为您介绍如何快速将照片合集制作…

2026年深圳宝安区及大湾区跨境电商园区终极推荐指南:3大产业园深度解析与选择策略 - 品牌2026

对于计划在2026年拓展全球业务的跨境电商企业、正在寻找理想产业基地的创业者、或是急需高效会展与活动场地的峰会举办方而言,选择一个合适的跨境电商产业园,是决定出海效率、成本控制与资源链接深度的关键第一步。面…

揭秘Docker容器网络日志难题:Cilium如何实现精准日志输出

第一章:Docker容器网络日志的挑战与Cilium的崛起在现代云原生架构中,Docker容器的广泛应用使得网络通信日益复杂。传统的容器网络模型依赖于iptables进行流量管理,但随着服务数量的增长,规则膨胀导致性能下降,且难以实…

vue大文件上传的示例代码与源码解析分享

大文件传输系统设计方案(基于SM4国密算法) 需求分析 作为四川某软件公司的开发人员,我面临以下核心需求: 实现10GB级别大文件的分片上传/下载采用国密SM4算法进行端到端加密服务端需支持SM4加密存储兼容主流浏览器及信创国产化…

一站式指南:盐雾腐蚀试验箱选购、品牌对比与厂家推荐 - 品牌推荐大师

在材料研发、质量控制及产品可靠性测试领域,盐雾腐蚀试验箱是评估金属、涂层、电镀件及复合材料耐腐蚀性能的核心设备。其通过模拟海洋或含盐潮湿环境,加速材料腐蚀过程,为改进工艺和提升产品质量提供关键数据。随着…

新手如何快速制作GIF?GIF制作指南

在日常分享中,生动有趣的GIF总能比静态图片更抓眼球,不管是记录生活片段、制作工作表情包,还是给文案搭配动态素材,gif制作都是绝佳选择。其实不用复杂的专业软件,新手也能快速做出高质量GIF,下面就把详细步…

Cilium监控日志无从下手?10个关键配置让你秒变专家

第一章:Cilium监控日志的核心价值与挑战在云原生环境中,网络可见性是保障系统稳定性和安全性的关键。Cilium 作为基于 eBPF 技术的高性能网络和安全解决方案,提供了深度的网络流量洞察能力。其监控日志不仅记录了 Pod 间的通信行为&#xff0…

大学生自学算法的好帮手:VibeThinker辅助理解DP与贪心

大学生自学算法的好帮手:VibeThinker辅助理解DP与贪心 在准备信息学竞赛或刷LeetCode的深夜,你是否曾面对一道动态规划题无从下手?状态怎么定义、转移方程如何写、边界条件又该怎样处理——这些问题往往让初学者望而却步。传统搜索引擎给出的…

如何借助在线制作gif动图?GIF在线制作攻略

在社交媒体分享、日常聊天互动或是工作汇报中,生动鲜活的GIF图总能自带“吸睛buff”,比静态图片更能精准传递情绪、展现细节。但提到GIF制作,不少人会误以为需要复杂的专业软件和设计功底。其实,借助gif图片在线制作工具&#xff…

基于多技术栈融合的婚恋交友系统设计与实现——以LINK婚恋系统为例

摘要:本文详细阐述了基于SpringBoot、MybatisPlus、Shiro、Netty、WebSocket、RabbitMQ、jwt、Redis、Vue3、Uniapp等多技术栈融合的LINK婚恋交友项目的系统设计与实现。通过对系统功能、技术特点、架构设计等方面的深入剖析,展示了该系统在婚恋交友领域…

发票查验接口详细接收参数说明-C#语言集成完整示例-API高效财税管理方案

发票是企业经营活动中核心的财务凭证之一,其真伪核验、信息提取与合规管理直接影响企业的税务风险控制与运营效率。在数字化转型浪潮下,企业对税务自动化、智能化的需求日益迫切。对此,发票查验接口应运而生,可实现一站式、高可靠…

2025年主流数据库PostgreSQL、MySQL、Oracle、MongoDB全景解析:技术选型与替代方案深度研究

引言 在数字化转型加速的2025年,数据库技术已从单一存储工具演变为企业核心竞争力的基石。从金融级分布式系统到实时物联网监控,从结构化交易处理到非结构化日志分析,数据库的架构选择直接影响业务效率与成本。本文将深度解析PostgreSQL、My…

自动化测试脚本生成:基于自然语言描述转换为可执行代码

自动化测试脚本生成:从自然语言到可执行代码的智能跃迁 在现代软件交付节奏日益紧凑的今天,一个新功能上线前最让人焦虑的环节是什么?不是编码,也不是部署——而是测试。尤其是当开发人员写完核心逻辑后,面对“请为这个…

Top-k采样设置建议:保持确定性同时避免死循环

Top-k采样设置建议:保持确定性同时避免死循环 在当前大模型推理的实际部署中,一个常被低估却至关重要的细节浮出水面——解码策略的微调,往往比模型本身的选择更能决定输出质量。尤其对于像 VibeThinker-1.5B-APP 这类专注于高强度逻辑任务的…

FastStone Capture注册码免费替代:用VibeThinker自动生成技术文档截图说明

VibeThinker-1.5B-APP:用小模型自动生成技术文档截图说明 在撰写开发教程、编写算法讲义或制作内部技术分享材料时,你是否也曾为“如何给一张代码截图配上清晰准确的解释”而反复修改?传统方式中,我们依赖手动标注工具&#xff08…

Docker Compose网络配置十大最佳实践,第7条至关重要

第一章:Docker Compose网络配置概述在使用 Docker Compose 编排多容器应用时,网络配置是实现服务间通信的核心环节。合理的网络设置能够确保容器之间安全、高效地交换数据,同时隔离不必要的访问。默认网络行为 Docker Compose 会为每个项目自…

2026年,面向hr总监的hr saas前10品牌榜整理分享!

回望 2025 年,中国 HR SaaS 行业正式告别 “野蛮生长”,迈入 “精耕细作” 的价值深化阶段。据艾瑞咨询、IDC两大权威机构年终数据显示,2025年行业市场规模突破260亿元,年复合增长率稳定保持在25%以上,数字化已从 HR 部…

智能家居中枢升级:从响应命令到主动推理用户意图

智能家居中枢升级:从响应命令到主动推理用户意图 在智能音箱能听懂“开灯”“调温”的今天,我们是否还满足于这种“指令-执行”的简单交互?当用户说:“我明天要早起开会,但现在很累,该怎么安排睡眠&#xf…

(Docker健康检查避坑手册)运维老炮儿绝不外传的6条军规

第一章:Docker健康检查避坑手册导论在现代容器化部署中,应用的稳定性与服务的自愈能力至关重要。Docker健康检查(HEALTHCHECK)机制为容器提供了判断内部进程是否正常运行的能力,是实现高可用架构的基础组件之一。合理配…