函数声明

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 函数笔记的更多相关文章

  1. 【学习笔记】【C语言】scanf函数

    1. 简介 这也是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>.调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设 ...

  2. C/C++编程笔记:C语言基础printf()和scanf()函数,大学入门知识

    在解释这两个函数之前,为了方便大家更容易理解,我们先来讲讲下面的这幅图. ​ 这个图中的例子其实很简单,我们就是把题目通过输入设备(例如键盘鼠标)传输到计算机中,然后让计算机进行运算得出结果,再然后把 ...

  3. 4-printf & scanf函数

    一.printf函数 这是(printf和scanf)在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h> 1.用法 1> printf(字符串) ...

  4. C语言scanf函数详细解释

    原文链接 函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准 ...

  5. 黑马程序员-scanf函数

    变量的内存:字节和地址:1.变量的存储单位是字节,每个字节都有存储地址.2.不同的数据大小占用的内存带下不同拥有的字节数也是不同的.变量的存储:1.存储是按照,先存储的放在地址教高的位置,优先存储的地 ...

  6. C语言Scanf函数

    C语言的scanf函数 一.变量的内存分析 (一)字节与地址 ①. 内存以字节为单位 每个字节都有自己的内存地址,根据地址就可以找到该字节.整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间 ...

  7. scanf函数

    一. 变量的内存分析 1. 字节和地址 为了更好地理解变量在内存中的存储细节,先来认识一下内存中的“字节”和“地址”. 1> 内存以“字节为单位” 0x表示的是十六进制,不用过于纠结,能看懂这些 ...

  8. scanf函数与输入缓冲区

    本文链接:http://www.cnblogs.com/xxNote/p/4008668.html 今天看书的时候遇到scanf函数与缓冲区的问题,产生了一些猜想即:应该有一个指针来记录缓冲区中读取到 ...

  9. Scanf函数输入字符串

    Scanf函数输入字符串 #define _CRT_SECURE_NO_WARNINGS //#pragma warning(disable:4996) #include <stdio.h> ...

随机推荐

  1. Qt串行化的输入和输出(使用QDataStream读写QByteArray,对QIODevice直接起作用)

    参考https://lug.ustc.edu.cn/sites/qtguide/ 今天看了一个介绍Qt串行化的介绍,感觉很受益,就记录了下来. 串行化(Serialization)是计算机科学中的一个 ...

  2. Unable to preventDefault inside passive event listener due to target being treated as passive 怎么办?

    本篇为转载,原文链接:https://blog.csdn.net/lijingshan34/article/details/88350456 翻译一下:chrome 监听touch类事件报错:无法被动 ...

  3. python scrapy爬取前程无忧招聘信息

    使用scrapy框架之前,使用以下命令下载库: pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple 1.创建项目文件夹 scr ...

  4. java基础 -- 关键字static的用法

    static关键字的基本作用就是方便在没有创建对象的情况下调用类的方法/变量, static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问. static ...

  5. Mysql基本配置以及常见问题

    以下是MYSQL的基本配置以及常见问题的解决方式 1.获取客户端 https://dev.mysql.com/downloads/ 有两种方式获取到MYSQL,一种是通过MySQL Community ...

  6. 【题解】剪纸条(dp)

    [题解]剪纸条(dp) HRBUST - 1828 网上搜不到题解?那我就来写一篇吧哈哈哈 最优化问题先考虑\(dp\),设\(dp(i)\)表示将前\(i\)个字符(包括\(i\))分割成不相交的回 ...

  7. 洛谷$P4099\ [HEOI2013]\ SAO\ dp$

    正解:树形$dp$ 解题报告: 传送门$QwQ$. 考虑设$f_i$表示点$i$的子树内的拓扑序排列方案数有多少个. 发现这样不好合并儿子节点和父亲节点.于是加一维,设$f_{i,j}$表示点$i$的 ...

  8. 洛谷$P4331\ [BOI2004]\ Sequence$ 数字序列 左偏树

    正解:左偏树 解题报告: 传送门$QwQ$ 开始看到的时候$jio$得长得很像之前做的一个$dp$,,, 但是$dp$那题是说不严格这里是严格? 不难想到我们可以让$a_{i},b_{i}$同时减去$ ...

  9. $Noip2018/Luogu5020$ 货币系统 $dp$

    $Luogu$ 去年我这题获得了$20$的好分数$ovo..........$ $Sol$ 现在来看其实非常显然叭,只要把能被别的数表示出来的数去掉就好了. $f[i]$表示$i$数能否被其他数表示. ...

  10. 「洛谷P3202」[HNOI2010]弹飞绵羊 解题报告

    P3203 [HNOI2010]弹飞绵羊 题目描述 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一 ...