C语言几个输入函数的区别(史上最详细)
The difference of the string and the character(char):
字符串是一个带有""的字符序列如
"I fuck xuqiang"
annotation:双引号不是字符串的一部分。双引号告知编译器它括起来的是字符串。C语言没有专门用于存储字符串的变量类型,字符串都被存储在char类型的数组中。字符串常量"x"和字符常量'x'不同,区别之一在于'x'是基本类型(char),而"x"是派生类型(char数组);区别之二是"x"实际上由两个字符串组成:'x'和空字符\0
在C语言中有很多的输入函数比如scanf()、getchar()、gets(),但它们之间的差别在哪里呢?
1:
首先针对scanf()函数:比如scanf() 配合%s使用,scanf("%s",&a) 但是这种方法只能获取一个单词,即遇到空格等空字符就会返回。如果要读取一行字符串。如果你需要输入"I fuck xuqiang everday",这个函数将显得很农民。
2:scanf()函数的特点:
| 修饰符 | 意义 |
| * | 滞后赋值;示例:"%*d" |
| digit(s) | z最大字段宽度;在达到最大字段宽度或者遇到第一个空白字符时(不管哪个先发生都一样)停止对输入项的读取;示例:"%10s" |
| hh | b把整数读作signed char或unsigned char;示例:"%hhd" "%hhu" |
| ll | b把整数读作long long或unsigned long long(c99);示例:"%lld" "%llu" |
| h,l或L | "%hd"和"%hi"指示该值将会储存在一个short int中。"%ho"、"%hx"和"%hu"指示该值将会储存在一个unsigned short int中。"%ld"和"%li"指示该值将会储存在一个long中。"%lo"、"%lx"和"%lu"指示该值将会储存在一个unsigned long中。"%le"、"%lf"和"%lg"指示该值以double类型储存。将L(而非l)与e、f和g一起使用指示该值以long double类型储存。如果没有这些修饰符,d、i、o和x指示int类型,而e、f和g指示float类型; |
| 转换说明符 | 意义 |
| %c | 把输入解释称一个字符 |
| %d | 把输入解释称一个有符号十进制整数 |
| %e,%f,%g,%a | 把输入解释称一个浮点数(%a是c99标准) |
| %E,%F,%G,%A | 把输入解释称一个浮点数(%A是c99标准) |
| %i | 把输入解释称一个有符号十进制整数 |
| %o | 把输入解释称一个有符号八进制整数 |
| %p | 把输入解释称一个指针(一个地址) |
| %s | 把输入解释称一个字符串,输入内容以第一个非空白字符作为开始,并且包含直到下一个空白字符的全部字符 |
| %u | 把输入解释称一个无符号十进制整数 |
| %x,%X | 把输入解释称一个无符号十六进制整数 |
| [] | 字符集合 |
C语言几个输入函数的区别(史上最详细)的更多相关文章
- 测试思想-测试设计 史上最详细测试用例设计实践总结 Part2
史上最详细测试用例设计实践总结 by:授客 QQ:1033553122 -------------------------接 Part1-------------------------- 方法:这里 ...
- 史上最详细的C语言和Python的插入排序算法
史上最详细的C语言和Python的插入排序算法插入排序原理:所谓插入排序,就像我们在打牌(斗地主)时,整理我们自己手中自己的牌一样,就像是2,1,3,9,J,K,5,4,这四张牌.我们要把它其中的几张 ...
- 史上最详细“截图”搭建Hexo博客并部署到Github
http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...
- 史上最详细“截图”搭建Hexo博客——For Windows
http://angelen.me/2015/01/23/2015-01-23-%E5%8F%B2%E4%B8%8A%E6%9C%80%E8%AF%A6%E7%BB%86%E2%80%9C%E6%88 ...
- 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用
史上最详细Windows版本搭建安装React Native环境配置 2016/01/29 | React Native技术文章 | Sky丶清| 95条评论 | 33530 views ...
- 史上最详细的Android Studio系列教程一--下载和安装
链接地址:http://segmentfault.com/a/1190000002401964#articleHeader4 原文链接:http://stormzhang.com/devtools/2 ...
- 转 史上最详细的Hadoop环境搭建
GitChat 作者:鸣宇淳 原文:史上最详细的Hadoop环境搭建 关注公众号:GitChat 技术杂谈,一本正经的讲技术 [不要错过文末活动哦] 前言 Hadoop在大数据技术体系中的地位至关重要 ...
- 史上最详细的XGBoost实战
史上最详细的XGBoost实战 0. 环境介绍 Python 版 本: 3.6.2 操作系统 : Windows 集成开发环境: PyCharm 1. 安装Python环境 安装Python 首先,我 ...
- 史上最详细mac安装Qt教程
史上最详细mac安装Qt教程,小白看过来! 这是一篇非常适合Qt入门小白的的安装Qt教程,因为这学期我们小组的一个关于高速救援的项目要用到Qt与web进行交互式展现相关的图像,由于没有MSVC这个插件 ...
随机推荐
- C# [Win32] [GDI+] [API] Load HFONT from Memory
// gdiplusenums.h //-------------------------------------------------------------------------- // Fo ...
- egret中场景跳转的动画
原理:创建一个截取当前场景的截图然后对截图进行bitmap处理加上tween.优点:无需任何图片,特效!适用于任何场景! //1.卷帘特效 //2.左右切换移动 //3.直接翻 //4.旋转掉落 // ...
- Git实操
使用git首先要理解工作区(working).暂存区(stage或者index).和版本库(repo区),很多命令都是和这三个概念相关的. git init 初始化git仓库,会生成默认的.git文件 ...
- erlang证书加密
-module(...). -include("ewp.hrl").-include("backend.hrl").-include_lib("pub ...
- 介绍一下Spring Cloud简介
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线).分布式系统的协调导致了样板模式, 使用Spring Clo ...
- 第一个jQuery
第一个jQuery <script src = "jquery.js"> $(document).ready(function){ alert("Hello ...
- PAT B1023
PAT B1023 标签(空格分隔): PAT 解决方法:贪心法 #include <cstdio> int main() { int count[10]; for (int i = 0; ...
- python爬虫基础_requests和bs4
这些都是笔记,还缺少详细整理,后续会更新. 下面这种方式,属于入门阶段,手动成分比较多. 首先安装必要组件: pip3 install requests pip3 install beautifuls ...
- 浅谈requireJS 摘自http://www.cnblogs.com/giggle/p/5436710.html
项目中大都使用模块化开发,requireJS作为AMD模块开发的典范,所以有必要学习下.通过一步步利用requireJS编写demo,从而学习requireJS的一个整体开发流程以及自我使用requi ...
- java的坦克大战
一个渣渣写坦克大战的步骤: 1.首先创造好一个坦克和一个GAME框架,并且坦克能够跟着键盘键位移动 案例:在我的博客文件中保存,它的名字是:tankwar0100.rar 主要解决了:1.坦克背景框 ...