scanf函数c语言用法(C语言关于scanf函数的返回值)
scanf函数c语言用法(C语言关于scanf函数的返回值)
2024-11-22 11:54:32  作者:夲其月吿  网址: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-11-22昨晚我在秋名山输给一辆五菱宏光事情是这样的,有位网友在某个贴吧说:昨晚我在秋名山输给一辆五菱宏光他用惯性飘移过弯他的车很快我只看到他有个修楼房漏水的招牌如果知道他是谁的话麻烦你们跟他说一声礼拜六晚我会在秋名山等他!然后,就有网友跟。
  • 非洲菊怎么养(非洲菊养护步骤)
  • 2024-11-22非洲菊养护步骤非洲菊喜欢关照充足的生长环境,对光照的需求比较大应该在非洲菊的生长过程中保持充足的光照,在光线不足的时候,需要人工补光另外,在夏季的时候,需要替非洲菊遮掉一些强烈的阳光,而冬季,尽量要保证全日照非洲菊。
  • 最近二十年世界各地发现的宝藏(世界十大宝藏未解之谜)
  • 2024-11-22世界十大宝藏未解之谜在历史的过往里,有一部分财富因为各种各样的原因停驻在时间隧道里,它们或者被深埋在地下,或者被故意隐藏,或者被秘密收藏,成为富有神秘色彩的宝藏无论哪一件宝物都能让人疯狂世界上就有十大宝藏未解之谜,图特卡。
  • 大闹天宫动画片什么时间拍摄(大闹天宫动画师陆青离世)
  • 2024-11-22大闹天宫动画师陆青离世童年是一支笔描绘出美妙的图画《大闹天宫》一系列经典动画片是许多人心中不可缺少的童年记忆9月6日7时许担任主要原画的动画艺术家陆青因病去世众多网友发帖悼念并追忆陆青有网友称这些极具东方韵味的动画作品影响。
  • 浪漫法式经典新娘造型(冷艳轻复古新娘造型)
  • 2024-11-22冷艳轻复古新娘造型优雅适宜的轻复古新娘造型仿佛有着淡淡的小情绪高贵冷艳、华丽高级显得格外吸引眼球▼..高贵优雅的气质女王造型不仅能够彰显新娘的性感还能让新娘看起来更加娇艳妩媚..手推波纹新娘造型搭配镶嵌宝石的皇冠、发饰。
  • 如何消除高中生自卑心理(高中生自卑心理产生的原因)
  • 2024-11-22高中生自卑心理产生的原因自卑心理是对自己缺乏自信,是一种消极的情感体验,表现为对自己的能力和品格评价过低高中生自卑心理的特点和产生的原因有:1、自我意识不成熟,自我认识不足,过低地评价自己2、家庭环境的影响3、学习成绩的影响。
  • 江苏省特殊病种门诊报销规定(43个特殊病种门诊费用可报销70)
  • 2024-11-2243个特殊病种门诊费用可报销70我省完善医保门诊医疗保障政策将探索建立规范的常见慢性病管理服务模式记者今天从省医疗保障局、省卫生健康委等单位获悉,我省日前出台了《关于进一步完善城乡居民基本医疗保险门诊医疗保障政策的通知》(以下简称《。
  • 职业高中都能考什么本科大学(职业高中能考什么大学)
  • 2024-11-22职业高中能考什么大学职业高中是我国中学教育的一种体系,他不完全同于普通高中,但又与普通高中有一些相似之处职业高中是有相应的专业,他们既可以报考一般的职业院校,也可以报考普通本科院校,所以职业高中的学生在高考志愿填报的时候。
  • 梁朝伟和张曼玉谁好看(王家卫巅峰之作花样年华张曼玉和梁朝伟)
  • 2024-11-22王家卫巅峰之作花样年华张曼玉和梁朝伟60年代初的香港,苏丽珍租下孙太太的房子,同一天,周慕云租下孙太太邻居顾先生家的房子,两家恰好赶在同一天搬家,成为邻居没过多久,周慕云的老婆跟苏丽珍的老公好上了,周慕云和苏丽珍同病相怜,在日常相处中竟。
  • 为什么景甜总是演电影(景甜为什么如何适合流光之城这部剧)
  • 2024-11-22景甜为什么如何适合流光之城这部剧#流光之城#《流光之城》开播后,网友们又有了新的CP可以磕,而这次是年下加民国,民国时期的爱情,十有九悲,但是就是因为动荡,爱一个人必然要付出更多,所以民国时期的爱情才更难得可贵,更加动人《流光之城》。