scanf函数c语言用法(C语言关于scanf函数的返回值)
scanf函数c语言用法(C语言关于scanf函数的返回值)
2024-09-27 08:43:29  作者:夲其月吿  网址:https://m.xinb2b.cn/life/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铠甲勇士主演现状《铠甲勇士》主演现状,黑犀侠成了主持人,风鹰侠参加了非诚勿扰《铠甲勇士》从2008年播出至今已经10年了,自播出以来就一直深受我们的喜爱,可以说是无数90后的童年这么多年过去了,小编带大家看看五大铠甲。
  • 电影(北平会馆电影)
  • 2024-09-28北平会馆电影中文名:北平会馆英文名:BEIJINGGUILDHALL出品公司:河北火星文化传媒有限公司上海嵩豪影业有限公司河北迷笛文化传播有限公司北京利美嘉忆文化传播有限公司宣传公司:浙江东阳四月天影视文化有限公。
  • 男人出轨的11种心理(男人为什么会出轨)
  • 2024-09-28男人为什么会出轨婚姻不幸福的根源不外乎以下两种:一是婚姻没有爱情的基础,二是婚后不懂得经营这道理其实谁都懂,关键是有没有把道理落实到生活中去,你看了太多的情感分析,但是从来不会运用到自己的生活这就是很多道理我们都懂,。
  • 数亿年前鱼龙化石被发现(长达3米外形憨萌)
  • 2024-09-28长达3米外形憨萌记者从中国地质大学(武汉)获悉,该校地球科学学院韩凤禄副教授率领的团队宣布发现一具约2.5亿年前、来自广西壮族自治区百色市的早三叠世鱼龙化石该鱼龙长达3米、外形憨萌,可能具有更强的游泳能力,作为一个新。
  • 宾利最便宜多少钱一辆(宾利价格一般多少钱)
  • 2024-09-28宾利价格一般多少钱在很多人印象中,宾利和劳斯莱斯是一个级别,早年宾利和劳斯莱斯是一家,被称为姐妹车,后来大众把宾利收了,宝马把劳斯莱斯收了,从此全球顶级豪车进入一个新的时代,而且各自发展都不错就在前不久,宾利推出了新飞。
  • 为何许多知名演员都要去演话剧 明星入局演话剧
  • 2024-09-28为何许多知名演员都要去演话剧 明星入局演话剧作者/灵樨提起“戏剧危机”,除了剧作层面上所说的“困境”以外,一般是指上世纪80年代的戏剧观大讨论改革开放后,经济的飞速发展、科技的高速进步使人们的生活方式日益丰富了起来,电视、电影、游戏等新兴娱乐方。
  • 种洋葱多久发芽(洋葱种植从种到收)
  • 2024-09-28洋葱种植从种到收农民种洋葱,从种到收,各个生长时期应注意哪些问题?农民朋友你知道吗?(1)洋葱发芽期从种子发芽到第一真叶显露为发芽期,一般需要10~15天在适宜发芽条件下播种后7~8天出土这个时期在种植上要求注意播种。
  • 读书日迎来全城书香遍地开花(南京玄武区首批十家)
  • 2024-09-28南京玄武区首批十家扬子晚报网4月22日讯(通讯员玄萱记者董婉愉)23日是第28个“世界读书日”,也是玄武区全民阅读促进会正式成立一周年的纪念日为持续响应中央关于促进全民阅读的号召,建设书香社会、书香中国,打造有根有魂的。
  • 推荐几部威尔史密斯的电影 奥斯卡上一掌惊人
  • 2024-09-28推荐几部威尔史密斯的电影 奥斯卡上一掌惊人威尔·史密斯在第92届奥斯卡颁奖现场上的“惊天一掌”拉高了日显颓势的奥斯卡收视率,也让人们重新认识到这位知天命年纪的“全民超人”的真性情1968年出生的威尔·史密斯于上世纪90年代出道,这位如今家喻户。
  • 狗不吃东西怎么办
  • 2024-09-28狗不吃东西怎么办步骤/方式1如果是娇生惯养导致狗狗挑食,要及时调整饮食规律步骤/方式2狗狗感染寄生虫之后,食欲会变得不好,身形会消瘦,背上的毛发会变得粗乱要给它吃点驱虫药,并定期去医院驱虫步骤/方式3可能在家里闷,不。