C里面的scanf对于空白字符的处理
来源:互联网 发布:linux 怎么ping端口 编辑:程序博客网 时间:2024/05/21 13:23
References
- http://bytes.com/topic/c/answers/559335-spaces-scanf-format-string
今晚写了点C的程序,写到scanf的时候,对于空白字符的处理有点迷惑,于是做了点小实验,并查了资料,在这里详细说说。
在scanf里面的第一个参数——格式化字符串s里面的空白字符的作用是对于输入里面的空白字符进行匹配。
在s里面的连续空白字符都会被当成一个空白字符处理。而一个空白字符对应输入里面的一段连续空白字符。当进行匹配的时候,他会一直匹配到下一个非空字符的出现才停止。
所以,如果有下面的语句:
而输入"12 "的时候,你会发现程序不会继续运行,而是仍然在等待你的下一次输入。这是因为在匹配完12并转换成int之后,后面的空白字符跟"%d "后面的空白字符进行匹配,而因为他是一直匹配到下一个非空白字符,所以当他匹配完所有的空格后,他仍然没有遇到一个非空字符,所以继续匹配,这时就等待你的输入。
所以一般来说,在格式串的最后都不要加空白字符。
- C里面的scanf对于空白字符的处理
- C里面的scanf对于空白字符的处理
- [C语言] 对于scanf()函数使用%d格式说明符无法读取字符的个人理解
- 对于字符输入的处理
- c# 处理空白字符,空白字符是指在屏幕不会显示出来的字符
- C语言使用scanf函数获取数据后,使用getchar()无法获得字符的处理方法
- 对于scanf的新理解
- 标准输入流中空白字符的怪异 —— 区分 scanf 与 cin
- 标准输入流中空白字符的怪异 —— 区分 scanf 与 cin
- 标准输入流中空白字符的怪异 —— 区分 scanf 与 cin
- 标准输入流中空白字符的怪异 —— 区分 scanf 与 cin
- C语言中空白字符与空字符的区别
- 关于scanf对输入非法字符的检查和处理
- XAML中的特殊字符以及空白的处理
- P:浏览器IE对空白字符的处理
- C++: 替换字符串里面的字符
- c语言中scanf输入带空格的字符串以及scanf输入单个字符的问题
- 对于C语言头文件里面extern的理解
- Mac OS 常用手册
- 对通用输入输出GPIO的深入理解
- VS2010 Windows2000
- linux驱动中probe函数何时被调用?[转]
- 我对“硬盘分区”的愚见
- C里面的scanf对于空白字符的处理
- The Ten Commandments for C Programmers
- MFC的ODBC实验
- 使用CppUnit建立简单的测试环境
- 用文件夹的右键菜单打开cmd.exe
- __declspec关键字详细用法
- WPF RichTextBox转化为rtf格式,以及加载,压缩
- origin的FFT有问题?
- MATLAB与win7不兼容