scanf函数c语言用法(C语言关于scanf函数的返回值)
scanf函数c语言用法(C语言关于scanf函数的返回值)
2024-09-27 11:05:24  作者:夲其月吿  网址:https://m.xinb2b.cn/tech/yza357583.html

在学习C语言时,通常使用scanf()函数获得从键盘输入的数据。

那么scanf()函数有返回值吗?回答是肯定的。

1.scanf()函数有返回值且为int型。

2.scanf()函数返回的值为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。

例如:

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

如果a和b都被成功读入,那么scanf()的返回值就是2;

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

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

如果遇到错误或遇到end of file,返回值为EOF。EOF是一个预定义的常量,等于-1。#define EOF -1

我们可以通过下面的代码得到验证。

int main()

{

int a;

int b;

int c;

int x;

printf("请输入三个整数:\n");

x=scanf("%d%d%d",&a,&b,&c);

printf("x=%d\n", x);

}

这里用变量x接收scanf()函数的返回值,并输出显示出来。

上述代码要求运行中输入三个整数:

如果输入5 6 7,则x的值为3;

如果输入5 6 d(即给c 赋值不正确),则x的值为2;

如果输入5 t d(即给b和c 赋值不正确),则x的值为1;

如果输入d 5 2 则输出x=0,也就是说第一个字符d输入错误,整个scanf()没有收到输入值。

其实scanf()的返回值是很有用的,比如在使用这个函数进行接收值时,我们有必要知道对要给赋值的变量是否正确的赋值成功了,所以可以使用if(scanf("%d,%d",&a,&b)==2)这样语句来判断是否正确地给所有的变量赋值,正确的话才能使用这个变量参与运算,这样才能提高代码的安全性。

例如,下面的问题就需要借助于scanf()返回值作为循环的条件。

输入不说明有多少个Input Block,以EOF为结束标志。

参见:HDOJ_1089(http://acm.hdu.edu.cn/showproblem.php?pid=1089)

A B for Input-Output Practice (I)

【Problem Description】

Your task is to Calculate a b.

Too easy?! Of course! I specially designed the problem for acm beginners. You must have found that some problems have the same titles with this one, yes, all these problems were designed for the same aim.

【Input】

The input will consist of a series of pairs of integers a and b, separated by a space, one pair of integers per line.

【Output】

For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.

【Sample Input】

1 510 20

【Sample Output】

630

其源代码为:

#include <stdio.h>

int main()

{

int a,b;

while(scanf("%d %d",&a, &b) != EOF)

printf("%d\n",a b);

return 0;

}


  • 体育界各个领域的神合照(这些流行词都来自体育圈)
  • 2024-09-28这些流行词都来自体育圈皮一下●来源:电竞皮是调皮的意思,通常用于事情出现了意想不到的转折,可以用来吐槽“搞怪”,常用于网络上具有反转性的搞笑内容“皮一下”从哪里来?答案是电子竞技比赛的解说有个小有名气的电竞解说叫“芜湖大司。
  • 被罗贯中遗忘的三国猛将(罗贯中硬编出来的三国第一谋士)
  • 2024-09-28罗贯中硬编出来的三国第一谋士先说明白,这个“第一”,指的是在《三国演义》中,第一位出场的谋士在三国的各个政治集团中,每个集团都有专属于自己的人才,不同阵营的文臣在战场之外施展谋略,精彩迭出,这批文臣在三国中有一个共同的称呼——谋。
  • 孙悟空一直打不过牛魔王(孙悟空你们可辱我)
  • 2024-09-28孙悟空你们可辱我我兴趣广泛,却一无所成,只因我向来都是蜻蜓点水,浅尝辄止,从没把某本书看完过,也从没把某个领域研究透彻故而,今又重读《西游记》,希望这次,我能把西游记从头至尾看完因为西游记是我的整个童年啊!今天我看完。
  • 北京爱情故事电视剧在线(北京爱情故事)
  • 2024-09-28北京爱情故事《北爱》中吴狄骂疯子禽兽,疯子骂吴狄畜生,但他们都欣然接受了,因为他们都真的爱了,人一旦真爱了就不受自己控制了人的一生中最起码要有一次真爱真爱一个人,你会毫不保留的付出,不求回报,不求曾经拥有,只求在。
  • 孔子最穷的弟子是谁(儒商第一人孔子门徒)
  • 2024-09-28儒商第一人孔子门徒孔子有个弟子,有才有德又有钱,被后人誉为最早的儒商代表,你知道他是谁吗?今天我们就来讲讲人的故事故事的名字叫做子贡,生财有道孔子有一个得意门生叫子贡,是春秋时期起如两国有名的大商人子贡发财致富全靠自己。
  • 张雪迎一个被大众误伤的女孩(张雪迎误打误撞)
  • 2024-09-28张雪迎误打误撞虽然娱乐圈是个鱼龙混杂的地方,但不得不承认,娱乐圈也是个奇迹产生的地方,多少演员跑龙套很多年一直都是不温不火,而有些幸运儿,有时候一个歪打正着就遇到贵人今天就和大家说说1997年出生于浙江义乌娱乐圈最。
  • 魅族flyme8系统官网(刷机精灵与魅族开展官方战略合作)
  • 2024-09-28刷机精灵与魅族开展官方战略合作近日,魅族宣布与刷机精灵开展官方战略合作,刷机精灵独家首发开放适配三星S4,正式开启魅族Flyme开放新纪元首批三星S4手机用户可通过刷机精灵一键刷入Flyme魅族宣布FlymeOS开放适配后,即与刷。
  • 都江堰最新水利工程(走进重大水利工程)
  • 2024-09-28走进重大水利工程走进重大水利工程世界上,很多古老的文明都曾有过宏伟浩大的水利工程——古罗马的人工渠翻山越涧远距离输水,堪称奇观;古巴比伦的纳尔-汉谟拉比灌溉区纵横交错,辽阔宏大……然而,无论当时有多么壮观,都在历史的。
  • 轩辕剑之汉之云几对cp(BE和HE美学都轻松拿捏)
  • 2024-09-28BE和HE美学都轻松拿捏最近,登录优酷之后就宣布连播九天的《与君初相识》,引发了仙侠剧迷的新狂欢这部剧为何做到开播即火?除开主演迪丽热巴和任嘉伦的市场号召力,优酷对于仙侠剧的把握,也值得好好聊一聊甜虐交织,这就是成年人的恋爱。
  • 孔向东蒲剧三对面(我的命不是我的)
  • 2024-09-28我的命不是我的《戏码头》第四期节目发糖了,大家没有没有被这对戏曲伉俪数十年来,仍然“待你如初恋”的爱情甜齁了呢?这份甜蜜与温馨背后,究竟现场发生了什么,令现场观众和跨界嘉宾纷纷黯然泪下?这份笑和泪的碰撞,正是孔老师。
  • 嘻哈说唱除了trap有几种风格(嘻哈音乐的常用术语科普)
  • 2024-09-28嘻哈音乐的常用术语科普大家好,我是望穿抽水,欢迎来到【聊聊嘻哈】每期我会跟大家讨论嘻哈的同时也会在末尾给大家嘻哈迷推荐一首好听的音乐今天就给大家科普一下嘻哈音乐常用的术语,这个小科普分为上下两期做完1.AKA,AlsoKn。