scanf 函数笔记
函数声明
int scanf(const char *format, ...);
说明
<返回值> scanf ("<格式化字符串>", <参数表>);
返回值
scanf 返回成功读入的变量个数,读到文件末尾或发生错误返回EOF。
如
int n, m;
scanf("%d%d", &n, &m);
scanf("%d%d", &n, &m);
输入
3 4
3
^Z
/*Windows系统终端下以^Z即Ctr+Z代表EOF*/
返回值为 分别为 2 和 1
又如
int n;
scanf("%d", &n);
输入
^Z
返回值为 -1 ( -1 即 EOF 的值, 使用 printf 即可看到)
格式化字符串
格式
%[width][modifiers]
说明
每个%分别对应控制参数表中每个变量的输入格式(%%除外, * 亦对应一个变量);
除%引导的部分外,可加入任意输入格式有关的字符;
width指定了在当前读取操作中读取的最大字符数,可省略;
| modifiers | 参数类型 | 含义 |
|---|---|---|
| d | char型,int型 | 读入一个十进制整数 |
| o | int型,unsigned int型 | 读入一个八进制整数 |
| x,X | int型,unsigned int型 | 读入一个十六进制整数 |
| u | unsigned int型 | 读入一个十进制整数 |
| lld | long long型 | 读入一个十进制整数 |
| llu | unsigned long long型 | 读入一个十进制整数 |
| c | char型,int型 | 读入单个字符,若 width 不为 1 ,则读取 width 个字符并存储在数组中连续位置。但末尾不会追加空字符。 |
| s | char *型 | 读入一个字符串,读到空白符结束,末尾追加 '\0' |
| f | float型 | 读入一个十进制实数 |
| lf | double型 | 读入一个十进制实数 |
| e,E | float型,double型 | 用指数形式读入一个十进制实数 |
| g,G | float型,double型 | 读入一个十进制小数 |
| p | void *型 | 读入一个指针 |
| [ ] | / | 扫描字符集合 |
| % | 不转换参数 | 读入一个% |
参数表
参数表中形参的数量和类型与格式化字符串相适应,否则读入可能发生异常
每个形参用逗号( , )隔开
示例
#include<stdio.h>
int main()
{
double a, b;
int d, e;
char ch, c[100];
scanf("%d%d", &d, &e); /*两个数字之间应当用空白符分开*/
scanf("(%d,%d)", &d, &e);
scanf("(%d,%d)", &d, &e);
scanf("(%d,%d)", &d, &e);
scanf("%2d%d", &d, &e);
scanf("%lf%lf", &a, &b);
scanf("%4lf%lf", &a, &b); /*注意小数点占一个字符*/
scanf("%c", &ch);
scanf("Hello World%s", c);
scanf("%11c", c);
return 0;
}
输入示例
3 3 /*变量中值分别为 3 和 3*/
(3,3) /*变量中值分别为 3 和 3*/
( 3 , 3 ) /*多空格可以正常读入,为 3 和 3,但不规范*/
(3,,3) /*多逗号读入出错,第一个变量为 3 而第二个则无法成功读入*/
2019 /*变量中值分别为 20 和 19*/
3.14 3.14 /*变量中值分别为 3.14 和 3.14*/
3.143.14 /*变量中值分别为 3.14 和 3.14*/
a /*变量中值为 'a' (实际储存为字符'a'的Ascii码)*/
Hello WorldHelloWorld /*变量中值为 HelloWorld\0 (以'\0'作为串结束符)*/
Hello World /*变量中值为 Hello World (没有串结束符,不能直接printf)*/
by sdust weilinfox
转载请注明原文地址:https://www.cnblogs.com/weilinfox/p/12238612.html
scanf 函数笔记的更多相关文章
- 【学习笔记】【C语言】scanf函数
1. 简介 这也是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>.调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设 ...
- C/C++编程笔记:C语言基础printf()和scanf()函数,大学入门知识
在解释这两个函数之前,为了方便大家更容易理解,我们先来讲讲下面的这幅图. 这个图中的例子其实很简单,我们就是把题目通过输入设备(例如键盘鼠标)传输到计算机中,然后让计算机进行运算得出结果,再然后把 ...
- 4-printf & scanf函数
一.printf函数 这是(printf和scanf)在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h> 1.用法 1> printf(字符串) ...
- C语言scanf函数详细解释
原文链接 函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准 ...
- 黑马程序员-scanf函数
变量的内存:字节和地址:1.变量的存储单位是字节,每个字节都有存储地址.2.不同的数据大小占用的内存带下不同拥有的字节数也是不同的.变量的存储:1.存储是按照,先存储的放在地址教高的位置,优先存储的地 ...
- C语言Scanf函数
C语言的scanf函数 一.变量的内存分析 (一)字节与地址 ①. 内存以字节为单位 每个字节都有自己的内存地址,根据地址就可以找到该字节.整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间 ...
- scanf函数
一. 变量的内存分析 1. 字节和地址 为了更好地理解变量在内存中的存储细节,先来认识一下内存中的“字节”和“地址”. 1> 内存以“字节为单位” 0x表示的是十六进制,不用过于纠结,能看懂这些 ...
- scanf函数与输入缓冲区
本文链接:http://www.cnblogs.com/xxNote/p/4008668.html 今天看书的时候遇到scanf函数与缓冲区的问题,产生了一些猜想即:应该有一个指针来记录缓冲区中读取到 ...
- Scanf函数输入字符串
Scanf函数输入字符串 #define _CRT_SECURE_NO_WARNINGS //#pragma warning(disable:4996) #include <stdio.h> ...
随机推荐
- (转载)MySQL慢查询日志总结
转自:https://www.cnblogs.com/kerrycode/p/5593204.html 慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响 ...
- 【Kubernetes】创建Pod并分配到指定节点
一.编辑yaml文件 [root@K8s-Master Tools]# cat hello-world-pod.yaml apiVersion: v1 kind: Pod metadata: name ...
- slim中返回结果加密的
//返回结果不加密 $this->get("/open]",function (Request $request, Response $response, $args) { ...
- 第四阶段:1.从零打造一款社区web产品
---恢复内容开始--- 熟人关系:微信 陌生人关系:微博 1.把各种竞品罗列起来形成一个分析池.分析其目标用户是哪些.这些产品满足了用户什么需求.可以从时间角度分析趋势.针对每一类竞品画一个商业模式 ...
- 超简单!pytorch入门教程(三):构造一个小型CNN
torch.nn只接受mini-batch的输入,也就是说我们输入的时候是必须是好几张图片同时输入. 例如:nn. Conv2d 允许输入4维的Tensor:n个样本 x n个色彩频道 x 高度 x ...
- 轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
背景介绍 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数 ...
- 【题解】歌唱王国(概率生成函数+KMP)+伦讲的求方差
[题解]歌唱王国(概率生成函数+KMP)+伦讲的求方差 生成函数的本质是什么呀!为什么和It-st一样神 设\(f_i\)表示填了\(i\)个时候停下来的概率,\(g_i\)是填了\(i\)个的时候不 ...
- vps远程桌面服务器管理
vps服务器是没有远程桌面系统的,本地电脑要有远程桌面的组件或者专业的远程桌面管理工具,如果出于安全考虑关闭了3389端口(这是系统自带远程桌面的端口),你可以试试iis7远程桌面管理工具,这个还是很 ...
- Django 开发项目创建
创建项目环境 """ 为项目创建一个虚拟环境 >: mkvirtualenv 环境名 """ """ 按 ...
- GPL协议中国第一案尘埃落定,相关开源软件应如何风控?
导读:2019年11月6日,数字天堂(北京)网络技术有限公司(以下简称 “数字天堂公司”)诉柚子(北京)科技有限公司.柚子(北京)移动技术有限公司(以下简称 “柚子公司”)侵犯计算机软件著作权纠纷一案 ...