c语言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。

#include<stdio.h>
 
int main()
{
    int a,b;
    while(scanf("%d %d",&a,&b)!=EOF)//注意空格%d %d",注意地址符号 &a,&b
    {
        if(a==0&&b==0)
            break;
        printf("%d\n",a+b);
    }
    return 0;
}
#include <stdio.h>
 
#define ARR_LEN 255 /*数组长度上限*/
#define elemType int /*元素类型*/

c语言scanf返回值相关推荐

  1. c语言scanf返回值被忽略,scanf返回值问题

    在家养病,闲着没事看C primer plus,看到书中对于scanf输入的判断,常用如下方法: 此时它将返回1视为我输入成功,如果不为1则视为输入失败.那到底scanf的返回值具体指的是什么呢? 例 ...

  2. c语言scanf返回值错误,c语言scanf返回值

    1. scanf 函数是有返回值的,它的返回值可以分成三种情况 1) 正整数,表示正确输入参数的个数.例如执行 scanf("%d %d", &a, &b); 如果 ...

  3. C语言scanf()返回值以及EOF

    做acm练习题时偶然发现一个奇特的现象: while(scanf("%d %d", &a, &b) != EOF)与 while(scanf("%d %d ...

  4. c语言scanf返回值问题

    scanf函数返回值: 1.scanf()函数有返回值且为int型.     2.scanf()函数返回的值为:正确按指定格式输入变量的个数:也即能正确接收到值的变量个数.         例如:sc ...

  5. C语言scanf返回值怎么写,C语言 scanf 返回值

    1. scanf 函数是有返回值的,它的返回值可以分成三种情况 1) 正整数,表示正确输入参数的个数.例如执行 scanf("%d %d", &a, &b); 如果 ...

  6. C语言return的用法详解,C语言函数返回值详解。 (本次转载仅供学习,感谢原创!!转发自C语言中文网,如有侵权请私信本人删除)

    C语言return的用法详解,C语言函数返回值详解 转载:http://c.biancheng.net/view/1855.html 函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这 ...

  7. scanf返回值被忽略的原因及其解决方法

    昨天在使用Visual Studio 2019编写C语言程序时遇到了scanf返回值被忽略问题 因为我也是刚开始使用VS2019学习C语言,第一次遇到这种问题,也不知道怎么回事,然后就上Chrome研 ...

  8. scanf返回值被忽略的原因及其解决方法(vs2019)

    在使用Visual Studio 2019编写C语言程序时相信大家都遇见了scanf返回值被忽略这个问题 存在的问题就是scanf函数输入不安全,其实在vs编译器环境下,这种不安全的函数有很多. 为了 ...

  9. 关于vs2022 C6031 “scanf返回值被忽略”的解决办法

    关于vs2022 C6031 "scanf返回值被忽略"的解决办法 我遇到的问题: 在学习c语言的过程中,和教学视频完全一样的代码,但是却在我的编译器里有这样一条警告: 解决办法: ...

最新文章

  1. Java学习总结:13
  2. python3报错处理:UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-1
  3. Servlet--04--doGet()与doPost()区别;Servlet常见错误;
  4. 脚本编程语言python语言-python语言是脚本语言吗
  5. Delphi-TScreen表示应用程序运行时屏幕的状态
  6. flume案例-flume级联-组件分析
  7. shell脚本实现检測回文字符串
  8. java中避免空指针_在Java中避免空检查
  9. 彷徨了两天,天慢慢晴朗了,心也爽朗了……
  10. 归并排序MergeSort
  11. python vimdiff_Vim实践与学习-09其他
  12. 微博java版_新浪微博JAVA通用版
  13. 微信小程序统一封装request请求,统一拦截校验
  14. Postman设置请求cookie
  15. 生成式对抗网络(GAN)相关问题汇总(较全面)
  16. 对计算机课程的意见和建议对老师,对计算机应用基础课程的探讨
  17. Unity3D之简单AR游戏
  18. 人脸识别系列(十五):COCO Loss
  19. CSDN日报20170304——《令人比较失落的IT圈子-关于华为裁员》
  20. [足式机器人]Part1 运动对称性Ch05——【Legged Robots that Balance 读书笔记】

热门文章

  1. 桌面ie图标不见了【解决办法】
  2. AutoCAD2019+vs2019+C# 二次开发学习笔记day05(持续更新)
  3. mysql性能优化 洪斌_技术分享 | InnoDB Cluster 如何高效加载数据
  4. 使用先电IaaS云平台创建云主机
  5. 超详细MySQL(免安装版)安装与配置
  6. 八道C语言指针笔试题——拿捏指针
  7. PotPlayer不支持S/W HEVC(H.265)解码的解决办法
  8. arduino+A4889+步进电机
  9. 如何找到局域网中的另外一个电脑
  10. 如何使用S32DS进行Debug刷写