C语言中的scanf
scanf
C语言中,scanf语句用于扫描键盘输入的数据,存储到变量的地址中。
有两种用法:
- scanf(“输入控制符”,输入参数);
- 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相关推荐
- java可以使用c语言中的输入,c语言中的scanf在java中应该怎么表达,Scanner类。
1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...
- C语言中,scanf与scanf_s的简单区别
C语言中,scanf与scanf_s的简单区别 scanf()不会检查输入边界,可能造成数据溢出,scanf_s()会进行边界检查. 如name[5], scanf("%s",na ...
- c语言中的scanf在java中应该怎么表达,Scanner类。
1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...
- C语言中的scanf()函数介绍
1.scanf函数:读取从键盘输入的数据 在C语言中,有多个函数可以从键盘获得用户输入: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据 getchar().get ...
- c语言scanf结果在printf前,C语言中的scanf与printf
开始学习C言语程序设计时,常常需求经过键盘交互方法请用户输入内容,并需求将用户核算的成果在屏幕上输出.为完成这样的操作,C言语供给了scanf与printf两个函数,运用它们之前,一般需求包括stdi ...
- scanf 输入十六进制_使用C语言中的scanf()在字符变量中输入十进制,八进制和十六进制值...
scanf 输入十六进制 Here, we will declare an unsigned char variable and input different format's value like ...
- scanf和printf在c语言中的作用,C语言中的scanf与printf
最初学习C语言程序设计时,经常需要通过键盘交互方式请用户输入内容,并需要将用户计算的结果在屏幕上输出.为实现这样的操作,C语言提供了scanf与printf两个函数,使用它们之前,一般需要包含stdi ...
- C语言中的scanf对应java中的,什么是C++中的scanf,memset和一对夫妇在Java中的含义?...
所以我一直在努力理解一个算法,并且我在互联网上找到了一个C++代码,但问题是我知道Java,但对C++真的不熟悉,所以我在理解时遇到了一些麻烦.这部分特别:什么是C++中的scanf,memset和一 ...
- c语言中scanf是什意思,C语言中的scanf是什么意思
scanf()是C语言中的一个输入函数. 与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include .(在有一些实现中,printf函数与scanf函 ...
最新文章
- Window phone用手机来控制电脑的多媒体播放
- L1-009 N个数求和(分数运算模板)(34行代码AC)
- python 累积正态分布函数_Python编程基础—Python语句书写规范
- 从新获取jar_hadoop3.0新特性总结
- 苹果5G手机因疫情影响 或将推迟至10月发布
- 万万没想到,面试中,连 ClassLoader类加载器 也能问出这么多问题.....
- 返回一个不确定的对象_我有一个Android必备知识点,你确定不了解一下?
- Redis-数据结构与对象-对象
- 不能因技术后天的死 而迷茫了今天的“学” 生
- String或Integer补0操作
- Java开发中的命名规范
- 软件调试高级研习班庐山秀峰站(2017-06)
- 如何登录虚拟主机服务器,如何登录虚拟主机服务器
- 缓存为王:老码农眼中的分布式缓存
- HTML5系列代码:一个完整简单的页面
- 【虹科ELPRO - EMS系统】实现苏州某医药仓库温湿度自动监测 - 100% GxP合规(下)
- 浅谈一个完整网站配色方案设计大法3实战篇
- axure 9 如何根据下拉框选值,动态展现内容
- 通过验证数据服从指数分布来验证某一过程是泊松过程
- 国际云管理服务商Bespin Global将发布中国战略