自学内容网 自学内容网

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()的拓展应用的文章的。^.^ ^.^ 


原文地址:https://blog.csdn.net/wcj_______/article/details/142300127

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!