当前位置: 首页 > news >正文

c语言-scanf函数的用法

文章目录

  • 一、scanf是什么?
  • 二、通过scanf进行赋值
    • scanf 输入一段带空格的句子, %[^\n] 格式字符串。
  • 三、赋值忽略符


一、scanf是什么?

函数原型:int scanf ( const char * format, … );
scanf是一个格式输出库函数,因为它是库函数所以它有一个头文件,这个头文件是 <stdio.h>,在使用时一定要引用这个头文件。

scanf函数是一个输入函数,所以接收的参数类型需要满足一定的格式
输入的格式有:各种字符,如字符串,单字符和数字等

scanf从缓冲区读取数据,每次读取一个数据,如果缓冲区中无内容,则出现堵塞,在运行窗口要求用户输入;

scanf(“%d%d”, &a, &b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF(-1)。
且返回值为int型

#include<stdio.h>
int main()
{ int a = 0;int b = 0;float f = 0.0f;int r=scanf("%d %d %f",&a, &b, &f);printf("a=%d b=%d f=%f",a, b, f);printf("r = %d\n", r);return 0;
}

scanf
如果输入2个数后,按 ctrl+z ,提前结束输入:
error
如果一个数字都不输入,直接按3次 ctrl+z ,输出的 r 是-1,也就是EOF 。
error

二、通过scanf进行赋值

指定输入数据所占列宽
scanf(%3d%3d”,&a,&b)
输入:123456系统自动将123赋给a,456赋给b      %后面加‘ * ’用来抑制输入。
scanf(%2d%*3d%2d”,&a,&b)
输入:1234567。将12赋给a,67赋给b。个数据”345”被跳过不赋给任何变量。 输入数据流分隔。根据格式字符的含义从输入流中取得数据,当输入流中数据类型与格式字符要求不符时,就认为这一项结束。
如:scanf(%d%c,%d”,&a,&b,&c);
如果输入如下信息:12r12则scanf函数在接收数据时发现”r”类型不匹配,于是把12赋值给a,把”r”赋给变量b,最后把12赋给c。隐示分隔符。空格、制表符’\t’,换行符/回车键’\n’都是C语言认定的数据分隔符。

scanf 输入一段带空格的句子, %[^\n] 格式字符串。

这将允许 scanf 读取输入,直到遇到换行符为止,从而允许输入包含空格的句子。

#define   _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>int main() {char sentence[100];printf("请输入一段带空格的句子:\n");scanf(" %[^\n]", sentence);printf("输入的句子是:%s\n", sentence);return 0;
}

scanf

三、赋值忽略符

#include<stdio.h>
int main()
{ int year = 0;int month = 0;int day = 0;scanf("%d-%d-%d",&year, &month, &day);printf("%d %d %d\n",year, month, day);return 0}

如果用户输入2020-12-12,就会正确解读数据,但是如果输入2020/12/12,scanf()就会解析数据失败。

scanf()提供了一个赋值忽略符,只要把*夹在任何占位符的百分号后面,该占位符就不会返回值,解析后将被丢弃。
dc1
dc2

相关文章:

c语言-scanf函数的用法

文章目录 一、scanf是什么&#xff1f;二、通过scanf进行赋值scanf 输入一段带空格的句子&#xff0c; %[^\n] 格式字符串。 三、赋值忽略符 一、scanf是什么&#xff1f; 函数原型&#xff1a;int scanf ( const char * format, … ); scanf是一个格式输出库函数&#xff0c;…...

AI带货主播插件开发之商品推荐模块!

AI带货主播&#xff0c;作为新兴的人工智能技术应用领域&#xff0c;正逐渐改变着电商直播的格局&#xff0c;在这一领域&#xff0c;商品推荐模块是提升用户体验、增加销售额的关键一环。 本文将探讨AI带货主播插件的商品推荐模块开发&#xff0c;并分享五段关键的源代码&…...

使用Nginx作为反向代理和负载均衡器

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用Nginx作为反向代理和负载均衡器 引言 Nginx 简介 安装 Nginx Ubuntu CentOS 配置 Nginx 作为反向代理 配置 Nginx 作为负载…...

【数据结构二叉树】C非递归算法实现二叉树的先序、中序、后序遍历

引言: 遍历二叉树&#xff1a;指按某条搜索路径巡访二叉树中每个结点&#xff0c;使得每个结点均被访问一次&#xff0c;而且仅被访问一次。 除了层次遍历外&#xff0c;二叉树有三个重要的遍历方法&#xff1a;先序遍历、中序遍历、后序遍历。 1、递归算法实现先序、中序、后…...

解决网盘资源搜索难题的利器——全面解析哎哟喂啊盘搜及其优秀推荐平台

海量的资源让我们的选择更加丰富,但同时也带来了资源搜索的诸多痛点。无论是寻找最新的影视资源、软件工具,还是各类学习资料,用户常常面临以下几个问题: 资源更新不及时:很多平台资源更新缓慢,用户难以第一时间获取最新内容。 搜索效率低下:关键词搜索不精准,导致需要翻阅大量…...

草料二维码:低成本高效率的访客管理解决方案

在当前的商业和政治环境中&#xff0c;企业和政府机构越来越重视安全保密措施&#xff0c;尤其是对外来人员的行踪记录和管理。访客管理已成为企业运营中不可或缺的一环&#xff0c;它不仅提升了安全性&#xff0c;还增强了效率和便捷性。然而&#xff0c;许多机构仍在使用传统…...

qt管理系统框架(好看界面、漂亮界面、好看的界面、漂亮的界面)

概述 最近一个项目用QT开发&#xff0c;然后找了美工帮设计了下界面。总算完工&#xff0c;后想一下干脆抽出一个基础框架&#xff0c;方便以后用。 功能 支持mysql、echarts。 支持加载动态权限菜单&#xff0c;轻松权限控制。 支持遮罩对话框、抽屉 支持开机启动动画界面 内…...

在VSCode中读取Markdown文件

在VSCode安装Markdown All in One或Markdown Preview Enhanced即可 插件Markdown All in One GitHub&#xff1a;https://github.com/yzhang-gh/vscode-markdown v3.6.2下载链接&#xff1a;https://marketplace.visualstudio.com/_apis/public/gallery/publishers/yzhang/vs…...

Linux rabbitmq客户端 SimpleAmqpClient 源码编译

SimpleAmqpClient的编译成库&#xff0c;加入到工程中 1、下载SimpleAmqpClient 源码&#xff1a; git克隆的路径为&#xff1a;https://github.com/alanxz/SimpleAmqpClient.git 下载压缩包路径&#xff1a;https://codeload.github.com/alanxz/SimpleAmqpClient/zip/maste…...

一台手机可以登录运营多少个TikTok账号?

很多TikTok内容创作者和商家通过运营多个账号来实现品牌曝光和产品销售&#xff0c;这种矩阵运营方式需要一定的技巧和设备成本&#xff0c;那么对于很多新手来说&#xff0c;一台手机可以登录和运营多少个TikTok账号呢&#xff1f; 一、运营TikTok账号的数量限制 TikTok的官…...

Python毕业设计选题:基于Hadoop的租房数据分析系统的设计与实现

开发语言&#xff1a;Python框架&#xff1a;flaskPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 系统首页 房屋信息详情 个人中心 管理员登录界面 管理员功能界面 用户管理界面 房屋信…...

k8s Service四层负载:服务端口暴露

在 Kubernetes 中&#xff0c;通过 Service 可以实现四层&#xff08;L4&#xff09;负载均衡&#xff0c;将流量分发至后端的 Pod。四层负载主要用于传输层&#xff08;TCP/UDP&#xff09;&#xff0c;而不像七层负载均衡&#xff08;HTTP/HTTPS&#xff09;那样进行应用层的…...

QT 关于mousePressEvent无法过滤

QT 关于mousePressEvent无法过滤 bool Filter::eventFilter(QObject *watched, QEvent *event) {// 判断是不是点击事件if((event->type() QEvent::MouseButtonPress) || (event->type() QEvent::MouseButtonDblClick)){//打印一个全局变量static int globalVar 0;gl…...

【VScode】深度对比:Cursor与VScode(CodeMoss)工具,谁才是你的GPT编程最佳助手?

文章目录 一、Cursor的强大功能1.1 Cursor的主要特点1.2 Cursor的使用技巧 二、CodeMoss的功能2.1 CodeMoss的主要特点2.2 CodeMoss的使用技巧 三、Cursor与CodeMoss的对比分析3.1 功能对比3.2 性能对比 四、总结与展望 在科技迅猛发展的今天&#xff0c;AI编程工具如雨后春笋般…...

大数据计算里的-Runtime Filter

文章目录 Runtime Filter示例 Runtime Filter 从纸面意义来看&#xff0c;就是程序在运行时&#xff0c;根据实际的数据去进行一些过滤操作。这和静态的规则优化不同&#xff0c;静态优化不考虑实现的数据的分布。 示例 select a.* ,b.* a join b on a.idb.id假设一下数据…...

【工具变量】大数据管理机构改革DID(2007-2023年)

数据简介&#xff1a;数字ZF是指以新一代信息技术为支撑&#xff0c;重塑政务信息化管理架构、业务架构、技术架构的现代化治理模式。随着数字政府的建设&#xff0c;特别是借助大数据等新一代数字技术&#xff0c;极大地提升了政府的治理能力&#xff0c;从而起到辅助监管机构…...

Linux -- 初识信号

目录 什么是信号&#xff1f; 如何使用信号&#xff1f; 代码&#xff1a; testSig.cc makefile&#xff1a; 验证&#xff1a; 2号信号&#xff1a; 9号信号&#xff1a; 建立对信号的认识&#xff1a; 信号的处理 自定义信号的处理方式&#xff1a; signal 函数…...

Ubuntu系统如何实现键盘按键映射到其他按键(以 Ctrl+c 映射到 F3,Ctrl+v 映射到 F4 为例)

文章目录 写在前面1. 功能描述2. 实现步骤2.1 安装AutoKey2.2 软件设置2.2.1 软件设置 2.3 测试是否安装成功 参考链接 写在前面 自己的测试环境&#xff1a; Ubuntu20.04 1. 功能描述 Ubuntu系统使用Ctrlc 、Ctrlv 进行复制粘贴操作的时候&#xff0c;时间长了就会出现小拇指…...

el-select、el-autocomplete的选项内容过长显示完整内容

问题&#xff1a; el-select、el-autocomplete的选项内容过长需要看清完整内容 解决方案&#xff1a; 使用el-popover悬停显示完整内容 代码&#xff1a; <el-form-item label"备注" prop"remark"><el-autocomplete v-model"form.remar…...

Go-单元测试

单元测试 测试用例的命名必须是以xxx_test.go的格式 测试用例函数必须以TestXxx开头&#xff0c;一般来说是Test被测试函数名&#xff0c;且必须为大驼峰命名 TestAdd(t *tesing.T)的形参类型必须是*tesing.T 运行测试用例指令 cmd>go test 运行正确&#xff0c;无日志&a…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么&#xff1f;它的作用是什么&#xff1f; Spring框架的核心容器是IoC&#xff08;控制反转&#xff09;容器。它的主要作用是管理对…...