C语言-scanf函数的返回值

C语言-scanf函数的返回值当 scanf 函数接收到几个字符时 它的返回值就是几

大家好,欢迎来到IT知识分享网。

目录

前言

一.正整数的情况

1.介绍

2.代码实例

2.1 输入整数型 

2.2 输入字符型

2.3 输入字符串型

二.0的情况

1.介绍

2.代码实例

三.EOF的情况

1.介绍

2.代码实例


 

前言

scanf 的返回值有三种情况:

  • 正整数
  • 0  
  • EOF

一.正整数的情况

1.介绍

当scanf函数接收到几个字符时,它的返回值就是几。

2.代码实例

2.1 输入整数型 

#include <stdio.h> int main() { int x, y; int m = scanf("%d %d", &x, &y); printf("%d\n",m); return 0; }
情况一 假如输入:2003 2004 输出:2 情况二 假如输入:2003 2004 2005 2006 输出:2 情况三 假如输入:2003,2004 输出:1 
  • 情况一,scanf中只有两个%d来接受数字,当输入两个数字时,scanf的返回值是2 。
  • 情况二,当输入超过两个数字时,scanf的返回值还是2,因为scanf函数只读取到了两个输入数据,所以它的返回值是2,与其他无关。
  • 情况三,在scanf中,是以%d %d的形式来接收数据的,但是输入的确实%d,%d的形式,可以正确读取到2003,无法读取2004,所以返回1(正确输入了一个变量)。

2.2 输入字符型

#include <stdio.h> int main() { char a, b, c, d; int n = scanf("%c %c %c %c", &a, &b, &c, &d); printf("%d\n",n); return 0; }
假如输入:a b c d 输出:4

可以看出,当在第二个scanf函数中输入四个字符时,scanf的返回值是一个整数4。字符型也可能会出现上述三个情况

2.3 输入字符串型

#include <stdio.h> int main() { char arr[100]; int n = scanf("%s", &arr); printf("%d\n",n); return 0; }
假如输入:galaxypokemon 输出:1

因为只输入了一个字符串,所以scanf的返回值是1。 字符串型也可能会出现上述三个情况

二.0的情况

1.介绍

当scanf的输入类型不匹配时,其返回值就是0

2.代码实例

#include <stdio.h> int main() { int a = 0; int n = scanf("%d", &a); printf("%d\n",n); return 0; }
假如输入:a 输出:0

可以看到,输入类型是int的情况下,我们输入了字符类型的字母a,就会导致scanf的返回值变为0。

三.EOF的情况

1.介绍

EOF是在标准库函数里定义的常量,ASCII码值为-1。EOF是End Of File的缩写,意为文件结束的标志。在输入时按ctrl+z后,可以看到屏幕里会出现^Z的字符,就可以结束输入

2.代码实例

#include<stdio.h> int main() { int x; while (scanf("%d", &x) != EOF) { printf("%d\n", x); } }

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/128575.html

(0)
上一篇 2025-08-30 18:20
下一篇 2025-03-11 09:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信