当前位置: 首页 > article >正文

scanf()函数的介绍及基础用法

目录

scanf()函数的介绍及基础用法

一:头文件

二:一般用法

三:返回值

1. 正整数的情况:

2. 0 的情况:

3. EOF的情况:

四:说明


scanf()函数的介绍及基础用法

【说明】这是 C语言中的标准输入函数,C++中一般使用 cin。(这里篇幅比较长,可以收藏一下哦,如果对你有一些帮助的话,就点个赞吧 ^.^ )

一:头文件

scanf()函数的头文件是 <stdio.h>。

二:一般用法

输入时用的格式字符和 printf()是一样的,可以点开我的主页,里面有一篇文章介绍 printf()的用法,那里面有详细介绍,这里就不细讲了。(当然还有一些其他需要掌握的函数,容器等等,也都可以了解一下,相信会对你有帮助的)

下面就给出一些格式字符输入样例:

1. int 型

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
	int a=10;
	scanf("%d",&a);
	printf("%d",a);
}
//输入 6,输出 6 

2.string 类型

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
	char ch[10];
	scanf("%s",&ch);
	printf("%s",ch);
}

3. char 类型

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
	char ch;
	scanf("%c",&ch);
	printf("%c",ch);
}

4. double 类型

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
	double a;
	scanf("%lf",&a);
	printf("%lf",a);
}

三:返回值

其实有些时候你会发现,你做的题中,有时候偏难的往往输入是不太容易的,尤其是边输入边处理数据时,有时候只要这部分处理好了,整道题就迎刃而解了。这里介绍一下 scanf()函数的返回值,会有一定的帮助。

scanf()函数返回值有三种情况——正整数、0、EOF。

1. 正整数的情况:

当 scanf()函数接收到几个字符,它的返回值就是几。

【代码如下】

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
	int a,b;
	int sum=scanf("%d %d",&a,&b);
	printf("%d",sum);
	return 0;
}
运行结果如下:
1 2
2
--------------------------------
Process exited after 4.731 seconds with return value 0
请按任意键继续. . .

1 2 3
2
--------------------------------
Process exited after 3.266 seconds with return value 0
请按任意键继续. . .
//超过两个数字,但 scanf 只能读取两个输入数据,所以返回值是 2,与其他无关

1,2
1
--------------------------------
Process exited after 7.133 seconds with return value 0
请按任意键继续. . .
//在 scang 中,是以 %d %d进行接收的,输入时加上,只能读取到数据 1,不能读取到 2

其他类型,如 char字符型、字符串型也都同上。

2. 0 的情况:

当 scanf ()输入类型不匹配时,其返回值是 0

【代码如下】

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
	int a;
	int sum=scanf("%d",&a);
	printf("%d",sum);
	return 0;
}
运行如果如下:
a
0
--------------------------------
Process exited after 2.542 seconds with return value 0
请按任意键继续. . .

3. EOF的情况:

EOF是标准库函数里定义的常量,ASCII 值为 -1,意味着文件结束的标志。当输入时按 Ctrl+z 后,表示输入结束,运行框里会出现 ^Z 的字符。

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
	int a;
	while(scanf("%d",&a)!=EOF)
	{
		printf("%d",a);
	}
}
运行结果如下:
1
1
3
3
43
43
2
2
50
50
9
9
^Z

--------------------------------
Process exited after 23.49 seconds with return value 0
请按任意键继续. . .

四:说明

上面介绍的是 scanf()函数的基础用法,包括最基本的输入,以及 scanf()函数的返回值,基本上掌握了这些,scanf()函数你就不会有太大问题,关键就是具体的练习了。

其实关于 scanf()函数的拓展应用还是有挺多的,有的还是挺实用的,不过不掌握也没什么太大问题,因为你可以自己用其他方法来进行一些,比如判定什么的,它并不是必要的,如果想要了解学习,可以点一下关注,有时间了会发一篇关于 scanf()的拓展应用的文章的。^.^ ^.^ 


http://www.kler.cn/a/310214.html

相关文章:

  • [项目代码] YOLOv5 铁路工人安全帽安全背心识别 [目标检测]
  • Chromium 中sqlite数据库操作演示c++
  • 【C++】详解RAII思想与智能指针
  • OLED 显示画面的变换操作——上下、左右翻转
  • AI赋能电商:创新应用提升销售与用户体验
  • 障碍检测与避障控制 ROS2机器人
  • 孙怡带你深度学习(1)--神经网络
  • wordpress主题摘要调用显示错误解决办法
  • 计算机毕业设计 家电销售展示平台的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 无人机光电吊舱的技术!!
  • XML_Tomcat_HTTP
  • 如何设计可靠的 IIoT 架构
  • 大数据新视界 --大数据大厂之Kubernetes与大数据:容器化部署的最佳实践
  • 【.NET全栈】ASP.NET实战—基于ASP.NET的求职系统设计与实现
  • uni-app开发流程(开发、预览、构建和发布过程)
  • 基于SSM的“新闻发布及管理系统”的设计与实现(源码+数据库+文档)
  • 【可测试性实践】C++单元测试:gtest gmock
  • MySQL示例:创建数据库与表
  • BOM编程
  • 基于OpenHarmony(开源鸿蒙)的智慧医疗综合应用系统
  • python植物大战僵尸项目源码【免费】
  • 国内版Microsoft Teams 基础版部署方案
  • 小商品市场配电系统安全用电解决方案
  • 创客中国AIGC专题赛冠军天鹜科技:AI蛋白质设计引领者
  • WPF中Viewbox的介绍和用法
  • 1.1 软件测试 + AI