首页 > 其他分享 >scanf函数(2)

scanf函数(2)

时间:2024-08-22 12:26:24浏览次数:10  
标签:缓存 函数 int scanf 用户 输入 读取

1.scanf函数的基本用法

scanf函数处理用户输入的原理是,用户的输入先放入缓存,等到按下回车键后按照占位符对缓存进行解读。

解读用户输入时,会从上次解读遗留的第一个字符开始,直到读完缓存,或遇到第一个不符合条件的字符为止。

1 #include <stdio.h>

2 int main()

3 {

4 int x;

5 float y;

6 //用户输入"      -13,45e12# 0"

7 scanf("%d\n",&x);

8 scanf("%f\n",&y);

9 return 0;

10  }

上面的示例中,scanf()读取用户输入时,%d占位符会忽略起首的空格,%f会从.读取开始,因为#不属于浮点数的有效字符,所以会停在这里。

由于scanf()可以连续处理多个占位符,所以上面这个例子可以写成下面这样。

1 #include <stdio.h>

2 int main()

3 {

4 int x;

5 float y;

6 //用户输入"      -13,45e12# 0"

7 scanf("%d%f",&x,&y);

8 printf("%d%e",x,y);

9 return 0;

10  }

scanf的返回值是一个整数,表示成功读取的变量个数。如果没有读取任何项,或匹配失败则返回0.如果读取到文件结尾,则返回常量EOF

注;EOF=-1.

标签:缓存,函数,int,scanf,用户,输入,读取
From: https://blog.csdn.net/wangjing_0522/article/details/141304976

相关文章

  • 关于C++函数返回值的拷贝优化问题
    在传统C++程序中,如果函数的返回值是一个对象的话,可能需要对函数中的局部对象进行拷贝。如果该对象很大的话,则程序的效率会降低。在C++11以后,出现的移动语义(MoveSemantic)及拷贝优化(CopyElision)都是解决这个问题的方法。本文试图以一个最简单的例子来说明这个问题。案例下面来看......
  • 043、Vue3+TypeScript基础,pinia库使用action,在函数中对存储数据进行修改
    01、main.js代码如下://引入createApp用于创建Vue实例import{createApp}from'vue'//引入App.vue根组件importAppfrom'./App.vue'//第一步:引入piniaimport{createPinia}from'pinia'constapp=createApp(App);//第二步:创建pinia实例constpinia=......
  • 进程(2) wait、exec函数族
    目录1. fork() 函数功能使用时注意事项2. exit() 函数功能使用时注意事项3. wait() 函数功能使用时注意事项总结wait()异常信号结束waitpidexec函数族execl()execlp()execvexecvpfork()、exit() 和 wait() 函数在进程管理中扮演着重要的角色,它们......
  • 字符函数和字符串函数(二)
    有任何不懂的问题可以评论区留言,能力范围内都会一一回答1.strcpychar*strcpy(char*destination,constchar*source);这个函数的功能是复制字符串将source指向的C字符串复制到指向destination的数组中,包括终止\0 字符(并在该点处停止)。为避免溢出,destination......
  • DDD的函数式编程实现
    DDD是一种成熟的软件设计方法,旨在确保领域专家和开发人员能够有效合作,创造出高质量的软件。本文介绍咋将FP(函数式编程)应用于DDD的实现,使其既优雅又简洁。C4模型中,软件架构图分为四个层次:“系统上下文”、“容器”、“组件”和“代码”。“组件”是构成容器的基本单位,也是本文描......
  • 六:《Python基础语法汇总》— 函数
    一:函数入门​函数:就是可以重复使用的具有一定功能的代码。除了一些Python内置的函数以外,函数也可以自己定义​自定义函数:通过def定义的函数自定义函数格式:def函数名(参数):函数要去实现的功能代码#调用函数函数名(参数)​命名函数名和参数名时要符合变......
  • Secure Coding in C and C ++ (四)局部静态构造函数 虚函数
    前言上一章节我们讲解了关于C++静态和指针与引用的部分我们先来回顾一下相关的内容:指针说白了就是地址,inta;int*ptr=&a这里的整形指针就是存放的整数变量的地址静态static有两种层面:第一种层面就是在其他的文件里,如果加入了static修饰那么被修饰的在link......
  • 「字符串」前缀函数|KMP匹配:规范化next数组 / LeetCode 28(C++)
    概述为什么大家总觉得KMP难?难的根本就不是这个算法本身。在互联网上你可以见到八十种KMP算法的next数组定义和模式串回滚策略,把一切都懂得特别混乱。很多时候初学者的难点根本不在于这个算法本身,而是它令人痛苦的百花齐放的定义。有的next数组从0下标开始,有的从1开始;有的表......
  • 浅谈面向对象三大特性(着重介绍虚函数实现的多态)
        写在前面:文章内容分享为主,如有不当之处,恳请批评指正。        今天在使用C++的工厂模式的时候,突然发下有些生疏,就想着发一篇博客,巩固一下,但突然想到工厂模式中设计的继承以及多态的特性,决定先发一篇有关于C++多态的文章,其他的就丢给明天吧!一、面向对象三......
  • 字符串函数
    文章目录1.strcmp函数strcmp函数的使用:strcmp函数的模拟实现:2.strncpy函数3.strncat函数4.strstr函数strstr函数的使用:strstr函数的模拟现实:5.strtok函数6.strerror函数1.strcmp函数第⼀个字符串⼤于第⼆个字符串,则返回⼤于0的数字第⼀个字符串等于第⼆个字符串......