再学C语言13:字符串(4)——scanf函数

news2024/11/19 1:26:20

一、scanf函数的使用

scanf函数功能:把输入的字符串转换成各种形式(整数、浮点数、字符、字符串)

scanf函数是printf函数的逆操作

scanf函数与printf函数一样使用控制字符串和参数列表

控制字符串指出输入将被转换成的格式

主要区别在参数列表:与printf函数使用变量名、常量、表达式不同,scanf函数使用指向变量的指针,具体的规则:

1)如果使用scanf()读取某种基本变量类型的值,需在变量名之前加上&

2)如果使用scanf()读取一个字符串(读到一个字符型数组中),不需要加&

示例代码:

/* test of scanf function */
#include <stdio.h>
int main(void)
{
    char Letter;
    char Letters[20];

    printf("Please enter one letter and some letters. \n");
    scanf("%c", &Letter);
    scanf("%s", Letters);
    printf("The letter entered is %c. \n", Letter);
    printf("The letters entered are %s. \n", Letters);
    return 0;
}

运行结果:

3303af1d3d004bf495fba6f0250a22f0.png

二、scanf函数的转换说明符

scanf()函数所用转换说明符与printf()函数几乎完全相同

区别:printf()把%f、%e、%E、%g和%G同时用于float类型和double类型;scanf()只把他们用于float类型,用于double类型时要求使用l修饰符

ANSI C中scanf()函数的转换说明符
转换说明符意义
%c把输入解释为一个字符
%d把输入解释为一个有符号十进制整数
%e, %f, %g, %a把输入解释为一个浮点数(%a是C99标准)
%E, %F, %G, %A把输入解释为一个浮点数(%A是C99标准)
%i把输入解释为一个有符号十进制整数
%o把输入解释为一个有符号八进制整数
%p把输入解释为一个指针(一个地址)
%s把输入解释为一个字符串:输入的内容以第一个非空白字符作为开始,并且包含直到下一个空白字符的全部字符
%u把输入解释为一个无符号十进制整数
%x, %X把输入解释为一个有符号十六进制整数
scanf()函数的转换修饰符
修饰符意义
*

滞后赋值

示例:"%*d"

digit(s)

最大字段宽度:在达到最大字段宽度或者遇到第一个空白字符时,停止对输入项的读取

示例:"%10d"

hh

把整数读作signed char或unsigned char

示例:"%hhd"、"%hhu"

ll

把整数读作long long或unsigned long long(C99)

示例:"%lld"、"%llu"

h,l或L

%hd和%hi:该值将会存储在一个short int中

%ho、%hx、%hu:该值将存储在一个unsigned short int中

%ld和%li:该值将会存储在一个long中

%lo、%lx、%lu:该值将会存储在一个unsigned long中

%le、%lf、%lg:该值以double类型存储

%Le、%Lf、%Lg:该值以long double类型存储

三、scanf函数的返回值

scanf()函数返回成功读入的项目的个数;如果没有读取任何项目,scanf()会返回值0;当检测到“文件结尾”时,scanf()返回EOF

 

 

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

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

相关文章

Qt实现表格控件

一、概述 最近在研究QTableView支持多级表头的事情&#xff0c;百度了下网上资料还是挺多的。实现的方式总的来说有2种&#xff0c;效果都还不错&#xff0c;最主要是搞懂其中的原理&#xff0c;做到以不变应万变。 实现多级表头的方式有以下两种方案 行表头和列表头都是用一…

网络空间安全——利用 CVE-2017-0213 提权

利用 CVE-2017-0213 提权 VE-2017-0213 是一个比较冷门的COM 类型混淆 (Type Confusion)漏洞。巧妙的利用该漏洞&#xff0c;可以实现本地的提权。该漏洞由著名的Google Project zero 发现。 下面就简单演示一下利用CVE-2017-0213漏洞简单提权&#xff0c; 首先下载CVE-2017…

【环境搭建】RocketMQ集群搭建

前置条件及效果图 条件&#xff1a; 两台服务器&#xff0c;个人是两台腾讯云服务器(其中嫖的朋友一个)&#xff1b; 版本&#xff1a; rocketmq-version:4.4.0rocketmq-console(mq控制台)Java&#xff1a;1.8maven:3.6.3 集群模式选择&#xff1a; 单master 这种方式风险…

【Django】第三课 基于Django超市订单管理系统开发

概念 本文在上一文之上&#xff0c;针对管理员&#xff0c;经理&#xff0c;普通员工身份的用户操作供应商管理模块功能。 功能实现 供应商管理模块属于业务功能&#xff0c;这里管理员不具备操作权限&#xff0c;而经理具备与供应商之间谈合作的实际需要&#xff0c;因此经…

Linux | 进程理解,fork | 进程地址空间

文章目录冯诺依曼体系结构的理解为什么要有内存的存在&#xff1f;操作系统的管理进程的理解系统调用接口进程的查看fork进程状态Linux进程具体的状态孤儿进程总结进程优先级怎样修改优先级&#xff1f;进程其他概念进程抢占进程地址空间利用代码验证地址区域验证堆区和栈区的增…

python3GUI--音乐播放器(精简版)By:PyQt5(附下载地址)

文章目录一&#xff0e;前言二&#xff0e;预览1.主界面2.歌单页3.歌词页4.播放列表5.mini6.设置三&#xff0e;心得1.解耦2.体验优化3.歌词显示四&#xff0e;总结一&#xff0e;前言 传送门&#xff1a; 1.python3GUI–打造一款音乐播放器By:PyQt5&#xff08;附下载地址&am…

LD_PRELOAD劫持

在前面UUCTF的uploadinject题&#xff0c;遇到了 LD_PRELOAD劫持&#xff0c;之前没遇见过&#xff0c;刚好借此机会学一学。不能小瞧这个变量&#xff0c;它甚至可以弹shell&#xff0c;绕过disable_functions&#xff0c;非常危险。下面来介绍一下这个变量&#xff0c;以及怎…

XDocReport使用入门

XDocReport 简介 XDocReport是GitHub上根据麻省理工学院许可证开源的Wrod导出框架。XDocReport可以根据ODT、Doc、Docx文档模板通过模板引擎语法&#xff08;Freemarker、Velocity&#xff09;转换为另外一种格式文档&#xff08;Doc、Docx、XHTML、PDF&#xff09;。 XDocR…

防沉迷管理系统

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 1、用户模块 1.1注册&#xff1a;用户通过注册生产账号&#xff0c;并在数据库存储数据 1.2登录&#xff1a;用户登录后…

k8s学习-CKA真题-k8s升级(kubeadm、kubelet、kubectl等)

目录题目解析命令准备工作升级组件升级kubectl、kubelet收尾结果killer 模拟环境题目解析解题参考题目 解析 结合博主当前环境&#xff0c;调整后题目为&#xff1a; 现有的 Kubernetes 集权正在运行的版本是 1.23.6&#xff0c;仅将主节点上的所有 kubernetes 控制面板和组件…

【语音处理】基于加权压力匹配方法(WPMM)的声音系统研究(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

【小程序】案例 - 本地生活(列表页面)

1. 演示页面效果以及主要功能 页面导航并传参 上拉触底时加载下一页数据 下拉刷新列表数据 2. 列表页面的 API 接口 以分页的形式&#xff0c;加载指定分类下商铺列表的数据&#xff1a; 接口地址 https://www.escook.cn/categories/:cate_id/shops URL 地址中的 :cate…

博泰应宜伦:智能汽车上攻时刻,需要“国家级”平台登场

作者 | 张祥威 编辑 | 王博汽车智能化转型的道路上&#xff0c;有个问题可能并非杞人忧天&#xff0c;而是值得整个行业警醒的。那就是&#xff1a; 中国的智能汽车发展&#xff0c;是否会被国外“卡脖子”&#xff1f; 卡脖子的担忧&#xff0c;其实也可以理解为&#xff0c;中…

【Linux】shell及其运行原理

目录1.什么是shell2.shell的功能3.shell的感性理解4.为什么不安装图形化界面1.什么是shell shell &#xff1a; 操作系统内核的外壳 通常来讲&#xff0c;计算机硬件是由运算器、控制器、存储器、输入/输出设备等硬件共同组成的&#xff0c;而让各种硬件设备各司其职且能协同运…

【基础强训】day3

一、选择题 &#x1f4a6;第1题&#xff1a; 以下程序的输出结果是&#xff08;&#xff09; #include <stdio.h> main() { char a[10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, *p; int i; i 8; p a i; printf("%s\n", p - 3); } A 6 B 6789 C 6 D 789 B 先定义…

阳了之后,python实用工具之:疫情信息快速查看

嗨害大家好鸭&#xff01;我是小熊猫&#xff01;&#xff08;阳了个阳版&#xff09; &#xff08;先给大家消消毒&#xff09; 不好意思&#xff0c;很久没给大家更新了… 主要是小熊猫我不小心阳了… 大家要多注意自己的身体健康 多喝点热水 这个真的是个好东西 在家里稍…

深度学习—00入门 神经网络 pytorch

1、深度学习简介 深度学习是机器学习的一个分支&#xff0c;简单来说就是通过人工神经网络&#xff0c;强行在业务的 输入 和 输出 之间&#xff0c;暴力耦合一个出一个数学模型。 1.1 深度学习特点 1、由于是暴力耦合出来的模型&#xff0c;自然模型可解释性很差&#xff0c…

STM32 cubeMX配置OLED

文章目录前言一、OLED的接线二、cubeMX的配置三、OLED的驱动代码四、OLED的使用总结前言 本篇文章主要介绍OLED的操作和使用。 一、OLED的接线 OLED一共有四根线这里我使用的是IIC的OLED显示屏。 VCC----3.3V或者5V GND-----GND SDA-----PB7 SCL-----PB6 二、cubeMX的配置 …

TFT-LCD屏幕触摸校准

TFT-LCD屏幕触摸校准 触摸屏幕分类 1.电阻屏 电阻屏的主要部分是一块与显示器表面配合非常好的电阻薄膜屏&#xff0c;这是一种多层的复合薄膜&#xff0c;由一层玻璃或有机玻璃作为基层&#xff0c;表面涂有一层秀明的导电层&#xff0c;上面再盖有一层外表硬化处理、光滑防…

通达信量化接口需要被程序化执行吗?

其实通达信量化接口其实是量化交易模型的需要被执行的一种方式&#xff0c;但如果你交易者的策略模型采用比较中低频的交易执行方式&#xff0c;比如每天只交易一次&#xff0c;甚至每周或每月才轮动一次。那么小编认为通达信量化接口建议是否程序化执行也是一个非常重要的指标…