函数声明

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. (转载)MySQL慢查询日志总结

    转自:https://www.cnblogs.com/kerrycode/p/5593204.html 慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响 ...

  2. 【Kubernetes】创建Pod并分配到指定节点

    一.编辑yaml文件 [root@K8s-Master Tools]# cat hello-world-pod.yaml apiVersion: v1 kind: Pod metadata: name ...

  3. slim中返回结果加密的

    //返回结果不加密 $this->get("/open]",function (Request $request, Response $response, $args) {  ...

  4. 第四阶段:1.从零打造一款社区web产品

    ---恢复内容开始--- 熟人关系:微信 陌生人关系:微博 1.把各种竞品罗列起来形成一个分析池.分析其目标用户是哪些.这些产品满足了用户什么需求.可以从时间角度分析趋势.针对每一类竞品画一个商业模式 ...

  5. 超简单!pytorch入门教程(三):构造一个小型CNN

    torch.nn只接受mini-batch的输入,也就是说我们输入的时候是必须是好几张图片同时输入. 例如:nn. Conv2d 允许输入4维的Tensor:n个样本 x n个色彩频道 x 高度 x ...

  6. 轻松搭建基于 SpringBoot + Vue 的 Web 商城应用

    背景介绍 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数 ...

  7. 【题解】歌唱王国(概率生成函数+KMP)+伦讲的求方差

    [题解]歌唱王国(概率生成函数+KMP)+伦讲的求方差 生成函数的本质是什么呀!为什么和It-st一样神 设\(f_i\)表示填了\(i\)个时候停下来的概率,\(g_i\)是填了\(i\)个的时候不 ...

  8. vps远程桌面服务器管理

    vps服务器是没有远程桌面系统的,本地电脑要有远程桌面的组件或者专业的远程桌面管理工具,如果出于安全考虑关闭了3389端口(这是系统自带远程桌面的端口),你可以试试iis7远程桌面管理工具,这个还是很 ...

  9. Django 开发项目创建

    创建项目环境 """ 为项目创建一个虚拟环境 >: mkvirtualenv 环境名 """ """ 按 ...

  10. GPL协议中国第一案尘埃落定,相关开源软件应如何风控?

    导读:2019年11月6日,数字天堂(北京)网络技术有限公司(以下简称 “数字天堂公司”)诉柚子(北京)科技有限公司.柚子(北京)移动技术有限公司(以下简称 “柚子公司”)侵犯计算机软件著作权纠纷一案 ...