必威体育Betway必威体育官网
当前位置:首页 > IT技术

scanf 函数的返回值

时间:2019-10-02 20:42:16来源:IT技术作者:seo实验室小编阅读:81次「手机版」
 

scanf返回值

1. scanf 函数是有返回值的,它的返回值可以分成三种情况

 1) 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b);

 如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量);

 如果用户输入"3,4",可以正确输入a,无法输入b,返回1(正确输入了一个变量)。

 2) 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入",3 4",返回0。

 3) EOF,这是在stdio.h里面定义的常量(通常值为-1),表示输入流已经结束。在windows下,用户按下CTRL+Z(会看到一个^Z字符)再按下回车(可能需要重复2次),就表示输入结束;linux/Unix下使用CTRL+D表示输入结束。

所以可以使用下面的代码来处理输入:

while (scanf("%s %c %c", str, &oldchar, &newchar) == 3) /* 或!= EOF , 但前者更好 */

{

; //处理

}

2. 为什么前面 scanf 的格式串里面,%s和%c中间需要空格呢?

 那是因为如果没空格的话。。。oldchar输入的就是空格了= =.

3. 顺便说一下,printf的返回值是输出的字符数,例如,printf("1234")的返回值是4,而printf("1234\n")的返回值是5。

相关阅读

警惕sscanf的使用

 sscanf跟scanf类似,只不过sscanf是扫描字符串,而scanf是扫描标准输入,用得好的话会给解析带来极大的便利性,用的不好的话,可能导致程

fwrite() write() 返回值闹出的笑话

火坑了,火坑了。今天自己把自己坑惨了。由于需要软件支持断电后重启恢复当时运行状态。故想到将恢复运行状态的一些数据存放到本地

scanf()和scanf_s()的区别

使用scanf()的时候会出现如下的错误:按照错误说明替换成scanf_s()便没有错误,上网搜索得到个中缘由。scanf()在读取数据时不检查边界,所以

scanf_s 遇到的问题

好久没使用scanf,今天使用时提示用scanf_s,以为是vc自己家的东西,后搜索下原来c11已经也有了,只不过只有微软现在支持,”C11中加

C语言scanf函数详细解释

此文章转载自:https://blog.csdn.net/21aspnet/article/details/174326函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(

分享到:

栏目导航

推荐阅读

热门阅读