【C语言编程锦囊·连载42】scanf函数的返回值是什么? 您所在的位置:网站首页 函数返回值是多少啊 【C语言编程锦囊·连载42】scanf函数的返回值是什么?

【C语言编程锦囊·连载42】scanf函数的返回值是什么?

2024-06-29 16:13| 来源: 网络整理| 查看: 265

问题阐述

scanf函数是用于数据输入的,输入变量的值被改变,那么scanf函数本身是否有返回值,返回值是什么意义呢?

专家解答

scanf函数的返回值很少有人用到,它是一个整数,用于表示成功输入数据的个数,请看下面的例子:

#include "stdio.h"

main()

{

int a,b,c;

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

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

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

}

执行结果:

图6.16 scanf()函数的错误输入

程序中由于对整数b试图输入2.5,而导致错误,实际上b只能得2,“.5”后的所有数据输入出错,不能正确赋值,因此c得不到正确结果。如果程序在这个基础上继续运行,会导致后面的错误越叠加越多,怎样由程序本身检查出这种错误呢,这时就可以用scanf函数的返回值来实现。

修改一下程序,取出scanf函数返回值,如果它的值是3,那么表示所有数据均已正确输入,如果小于3,必定出现错误输入。

以上程序可修改为:

#include "stdio.h"

main()

{

int a,b,c,n=0;

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

while(n!=3)

{

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

if(n

printf("数据格式错误,请重新输入。\n");

flushall();

}

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

}

图6.17 加入错误检查的scanf()函数输入

专家点评

输入数据格式错误问题,很多初学者都会忽略,认为输入时总是没错的。

通过scanf函数的返回值,可以很好的解决这一问题。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有