C语言-在scanf表示什么,在c语言中scanf代表什么意思?_大菠萝盖的博客-程序员宝宝

技术标签: C语言-在scanf表示什么  

在c语言中scanf代表什么意思?

发布时间:2020-04-24 14:04:21

来源:亿速云

阅读:370

作者:小新

今天小编给大家分享的是在c语言中scanf代表什么意思,相信很多人都不太了解,为了让大家更加了解c语言中scanf,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

61c0489b52cdb83563ac853023b3703c.png

c语言scanf啥意思?

scanf()是C语言中的一个输入函数,属于格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。

与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include 。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include 。)

拓展资料:

函数原型

int scanf(const char * restrict format,...);

函数 scanf() 是从标准输入流stdio (标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。

函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。

返回值

scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。

如:scanf("%d %d",&a,&b);

函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;

如果只有a被成功读入,返回值为1;

如果a和b都未被成功读入,返回值为0;

如果遇到错误或遇到end of file,返回值为EOF。end of file为Ctrl+z 或者Ctrl+d。

例:使用scanf函数输入数据。#include int main(void){ int a,b,c; printf("Give me the value of a,b,c seperated with whitespaces:\n"); scanf("%d%d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d\n",a,b,c); return 0;}

&a,&b,&c中的&是寻址操作符,&a表示对象a在内存中的地址 ,是一个右值。变量a,b,c的地址是在编译阶段分配的(存储顺序由编译器决定)。

这里注意:如果scanf中%d是连着写的如“%d%d%d”,在输入数据时,数据之间不可以用逗号分隔,只能用空白字符(空格或tab键或者回车键)分隔——“2 (空格)3(tab) 4” 或 “2(tab)3(回车)4”等。若是“%d,%d,%d”,则在输入数据时需要加“,”,如“2,3,4”。

关于在c语言中scanf代表什么意思就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_32616931/article/details/117107709

智能推荐

TypeError: 'module' object is not callable_小李飞刀李寻欢的博客-程序员宝宝

librosa中rhythm出现这个问题,不知道为啥子搜索网上说导入的模块和py文件同名了,我不知道哪里有问题。卧槽。其他函数都没有问题,比如librosa.feature.spectral_centroidlibrosa.feature.spectral_rolloff真是服了,卸载librosa重新安装也没解决,真是什么幺蛾子都有。烦死了。看了下官方文档,也没发现rhy...

ubuntu 安装GPU黑屏 修改GRUB_Ubuntu 18.04 安装笔记_weixin_40001805的博客-程序员宝宝

概述:Ubuntu 18.04 的安装配置笔记, :two_hearts:。简介:基础使用环境的搭建,暂定目标为一篇文章解决大部分疑问。协议:本文章使用 CC BY-NC-SA 4.0 协议(转载署名)。本文地址:Ubuntu 安装记录 。文章更新日志:2019.04.28 - 重构文章,修改并调整内容。 - 补充来源链接,方便时效性内容的验证。2019.07.29 - 更正 Sh...

flask库使用时,报错ModuleNotFoundError: No module named ‘MySQLdb‘_IT技术学习的博客-程序员宝宝

在python2.x中用mysqldb,但是在python3.x中已经不支持那个组件了。取而代之的是:import pymysqlPyMySQL是纯 Python 实现的驱动,速度上比不上 MySQLdb,最大的特点可能就是它的安装方式没那么繁琐,同时也兼容 MySQLdb。...

Android webView 缓存 Cache + HTML5离线功能 解决_andriod 可以读取嵌入webview h5的缓存_麦晓宇的博客-程序员宝宝

WebView的缓存可以分为页面缓存和数据缓存。           页面缓存是指加载一个网页时的html、JS、CSS等页面或者资源数据。这些缓存资源是由于浏览器的行为而产生,开发者只能通过配置HTTP响应头影响浏览器的行为才能间接地影响到这些缓存数据。         他们的索引存放在/data/data/package_name/databases下。他们的文件存放在/data/data/p

Android Studio 代码爆红(报错),常用Textview、Context等找不到包,import android.widget.TextView;无效_textview爆红_Granger_g的博客-程序员宝宝

问题描述:如上图所示,莫名所有常用安卓控件代码爆红。import android.widget.LinearLayout;import android.widget.RelativeLayout;import android.widget.TextView;import android.content.Context;import android.view.View;import android.widget.ImageView;类似以上代码全部爆红找不到。解决办法:我的..

(转载)SpringBoot + Spring Security + Thymeleaf 实现权限管理登录_lwwl12的博客-程序员宝宝

原文地址:https://liuyanzhao.com/7431.html 本文通过一个登录的例子介绍 SpringBoot + Spring Security + Thymeleaf 权限管理。 一、数据库用户登录账号是 admin,saysky,lockeduser密码都是 123456 1、表结构user 表 authority 表&am

随便推点

html用代码写图标,krpano中使用html代码作为图标_南至挚爱的博客-程序员宝宝

bgcolor="0x000000"bgalpha="0.5"bgborder="1 0xffffff 1"bgroundedge="0"/>if(fullscreen,set(layer[ofico].visible,false);set(layer[cfico].visible,true);,set(layer[ofico].visible,true);set(layer[cfico].vis...

IIS发布网站出现“未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。”的解决方法_iis无法加载引用程序集来执行_blacksource的博客-程序员宝宝

未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。试图加载格式不正确的程序。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“System.Data.SQLite”或它的某一个依

Apollo选型及优势介绍_apollo优势_小鲍侃java的博客-程序员宝宝

1.白话什么是Apollo相当于微服务中的配置中心,如nacos等,可以将springboot中yml文件统一管理起来,且大部分配置修改后可以直接生效。相比于nacos,Apollo更加的重量级,功能也更加强大(相对的也更加复杂)。Apollo提供了丰富的权限设定,环境配置。在选择时,如果您只需要简单的管理配置,并不需要多环境,没有多部门多用户协作,也不需要用户权限,只是小厂,请无脑选择nacos,否则请选择Apollo。2.Apollo的优势1.统一管理不同环境、不同集群的配置Apollo提供

html微数据,HTML5之 Microdata微数据_AyeNay Rats的博客-程序员宝宝

- 为何需要微数据长篇加累版牍,不好理解微标记来标注其中内容,让其容易识辨- RDFaResource Description Frameworkhttp://www.w3.org/TR/microdatahttp://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#microdatahttp://www.w3.org...

用matlab做一元线性回归画图,[转载]用matlab做一元线性回归分析_希惜溪的博客-程序员宝宝

一元线性回归分析是在排除其他影响因素的假定其他影响因素确定的情况下,分析某一个因素(自变量)是如何影响另外一个事物(因变量)的过程,所进行的分析是比较理想化的。用SPSS可以做一元线性回归分析,但是当回归的自变量比较多的时候,一个一个的输入会比较麻烦,增加了计算量,本文中描述了如何用matlab语言来实现一元线性回归分析。在matlab中,regress命令是用来做回归的。假如有96个SNP,作为...

JSValidation客户端表单验证框架_minguiluo的博客-程序员宝宝

1. JSValidation是什么?如首页所说,JSValidation是客户端表单验证框架,用在BS系统中,或者简单的网页系统中。表单验证在这些开发中很常见:新用户注册,需要校验某些字段;用户登陆,需要校验;等等。在这之前,页面开发者(JavaScript开发者)需要编写大量的JavaScript来与表单对象交互,并进行校验。常见的校验如不能为空,必须满足长度要求,必须为数字,必...