scanf

C语言中,scanf语句用于扫描键盘输入的数据,存储到变量的地址中。
有两种用法:

  1. scanf(“输入控制符”,输入参数);
  2. scanf(“非输入控制符 输入控制符”,输入参数);
    非输入控制符必须原样输入

输出参数由若干个地址组成,可以是变量的地址,或字符串的首地址。

使用scanf的例子

例一:

#include <stdio.h>
int main()
{int data;printf("请输入一个整数:/n");scanf("%d",&data);//注意后面这里的变量“data”前一定要加取地址符&printf("你输入的整数是:%d\n",data);return 0;
}

上面的代码编译运行后可以识别输入了一个什么数,并打印在屏幕上。

在上述代码中,如果scanf语句换成scanf("data=%d",&data);,那么在输入数据的时候就要按照双引号里面的格式先输入data=,后面接着敲要输入的数据。

例二:(输入多个数据)

#include <stdio.h>
int main(void)
{int data1,data2,data3;printf("请输入三个整数:\n");scanf("%d%d%d",&data1,&data2,&data3);printf("你输入的三个数是:%d,%d,%d",data1,data2,data3);return 0;
}

按照上述代码运行,输入数据的时候可以输入一个数据后按空格,紧接着输入下一个数据,输入完最后一个数据后直接按回车。也可以输入一个数据按一次空格。

如果上述代码的scanf语句换成这样:scanf("%d,%d,%d",&data1,&data2,&data3);(在%d之间加了逗号),风险可能会很大。因为如果只输入一个数据后不小心按了回车,那程序记录一个数据就直接结束了。后面两个数据是系统默认给你的两个数。

此时,正确的输入只有这样(用空格隔开也不行了):

如果例二代码中的scanf语句换成这样:scanf("%d %d %d",&data1,&data2,&data3);(在%d之间加了空格),也会有风险,风险和上面一样。此时,正确输入有两种:

对像scanf("a=%f,b=%f,c=%f",&a,&b,&c);这种格式的,编译运行程序后,输入的内容一定要按照双引号里面的内容敲:a=(要输入的值),b=(要输入的值),c=(要输入的值),才能正确输入。

因此,写scanf的时候千万不要在双引号里面乱加东西

C语言中的scanf相关推荐

  1. java可以使用c语言中的输入,c语言中的scanf在java中应该怎么表达,Scanner类。

    1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...

  2. C语言中,scanf与scanf_s的简单区别

    C语言中,scanf与scanf_s的简单区别 scanf()不会检查输入边界,可能造成数据溢出,scanf_s()会进行边界检查. 如name[5], scanf("%s",na ...

  3. c语言中的scanf在java中应该怎么表达,Scanner类。

    1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...

  4. C语言中的scanf()函数介绍

    1.scanf函数:读取从键盘输入的数据 在C语言中,有多个函数可以从键盘获得用户输入: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据 getchar().get ...

  5. c语言scanf结果在printf前,C语言中的scanf与printf

    开始学习C言语程序设计时,常常需求经过键盘交互方法请用户输入内容,并需求将用户核算的成果在屏幕上输出.为完成这样的操作,C言语供给了scanf与printf两个函数,运用它们之前,一般需求包括stdi ...

  6. scanf 输入十六进制_使用C语言中的scanf()在字符变量中输入十进制,八进制和十六进制值...

    scanf 输入十六进制 Here, we will declare an unsigned char variable and input different format's value like ...

  7. scanf和printf在c语言中的作用,C语言中的scanf与printf

    最初学习C语言程序设计时,经常需要通过键盘交互方式请用户输入内容,并需要将用户计算的结果在屏幕上输出.为实现这样的操作,C语言提供了scanf与printf两个函数,使用它们之前,一般需要包含stdi ...

  8. C语言中的scanf对应java中的,什么是C++中的scanf,memset和一对夫妇在Java中的含义?...

    所以我一直在努力理解一个算法,并且我在互联网上找到了一个C++代码,但问题是我知道Java,但对C++真的不熟悉,所以我在理解时遇到了一些麻烦.这部分特别:什么是C++中的scanf,memset和一 ...

  9. c语言中scanf是什意思,C语言中的scanf是什么意思

    scanf()是C语言中的一个输入函数. 与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include .(在有一些实现中,printf函数与scanf函 ...

最新文章

  1. Window phone用手机来控制电脑的多媒体播放
  2. L1-009 N个数求和(分数运算模板)(34行代码AC)
  3. python 累积正态分布函数_Python编程基础—Python语句书写规范
  4. 从新获取jar_hadoop3.0新特性总结
  5. 苹果5G手机因疫情影响 或将推迟至10月发布
  6. 万万没想到,面试中,连 ClassLoader类加载器 也能问出这么多问题.....
  7. 返回一个不确定的对象_我有一个Android必备知识点,你确定不了解一下?
  8. Redis-数据结构与对象-对象
  9. 不能因技术后天的死 而迷茫了今天的“学” 生
  10. String或Integer补0操作
  11. Java开发中的命名规范
  12. 软件调试高级研习班庐山秀峰站(2017-06)
  13. 如何登录虚拟主机服务器,如何登录虚拟主机服务器
  14. 缓存为王:老码农眼中的分布式缓存
  15. HTML5系列代码:一个完整简单的页面
  16. 【虹科ELPRO - EMS系统】实现苏州某医药仓库温湿度自动监测 - 100% GxP合规(下)
  17. 浅谈一个完整网站配色方案设计大法3实战篇
  18. axure 9 如何根据下拉框选值,动态展现内容
  19. 通过验证数据服从指数分布来验证某一过程是泊松过程
  20. 国际云管理服务商Bespin Global将发布中国战略

热门文章

  1. 你对贝叶斯统计都有怎样的理解?
  2. MySQL 查看表结构 显示表内容 使用语句区别
  3. 图解Linux命令之--modprobe命令
  4. 把路由器变成音乐播放器和网络收音机,支持摇控
  5. Django中如何使用Mysql数据库
  6. python人机交互界面设计_[译]学习IPython进行交互式计算和数据可视化(五)
  7. yox.js 的使用
  8. 什么是安全文件传输?
  9. Shell脚本实现自动检测/配置/开启/关闭redis后台服务
  10. 【有料】面试必备:什么时候要打破双亲委派机制?什么是双亲委派? (图解+秒懂+史上最全)