1.如果使用scanf()来读取函数中定义的基本变量类型的值,请在变量名之前加一个&。

2.如果受用scanf()把一个字符串读进一个字符数组中,则不需要使用&.

以下为简单的测试程序:

#include<stdio.h>int main()
{int num1 = 0;float num2 = 0.0;char arr[20];printf("Input your favorite num1(int), and num2(float):\n");scanf("%d%f",&num1,&num2);printf("%d,%f\n",num1,num2);printf("Input your favorite string:\n");scanf("%s",arr);printf("%s\n",arr);return 0;}

其中,如果在输入字符串的时候我们习惯性的会加入一些空格,比如hello world,但是scanf()函数在与相印的字段匹配的同时跳过其中的空格,所以我们看到的输出结果就只是一个hello。

但是办法总是比困难多,同时我们也可以使用getchar()和putchar()搭配使用,而且我们还可以使用一个参数,%[ ],这个参数的意义是读入一个字符集合。[ ]是个集合的标志,因此%[ ]特指读入此集合所限定的那些字符,比如%[A-Z]是输入大写字母,一旦遇到不在此集合的字符便停止。

此时我们改变以下代码:

    printf("Input your favorite string:\n");scanf("%[^\n]",arr);printf("%s\n",arr);

如果集合的第一个字符是“^”,这说明读取不在“^“后面集合的字符,即遇到”^“后面集合的字符便停止。此时读入的字符串是可以含有空格的。

此时输入hello world后的结果就是包含空格的hello world。

scanf()的转换说明符:

scanf()函数的使用相关推荐

  1. scanf()函数的用法和实践

    scanf()函数的用法和实践 摘要: 本文阐述了基于ANSI,Win 95,Win NT上的 C/C++语言中scanf()函数的用法,以及在实际使用中常见错误及对策. 关键词: scanf() 一 ...

  2. scanf 接收 空格 输入_你需要知道的scanf函数用法

    scanf函数   上一节中我们讨论了,如何将整数,浮点数,字符串打印到屏幕上去.既然有输出,怎么能没有输入呢?这一节中,我们来介绍与printf相反的scanf函数.   scanf的功能是将键盘输 ...

  3. C语言基础之--scanf函数

    写代码的时候,我们可以看得出,几乎每一个C程序都会包括输入输出.输入输出是程序中最基本的操作之一.C语言本身并不提供输入输出的语句,输入输出操作是由C标准函数库中的函数来实现的.今天就先说说输入:sc ...

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

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

  5. scanf函数详解与缓冲区

    1.基本信息 函数原型: int scanf( char *format, args, ...); 函数返回值: 读入并赋给args的数据个数,遇到文件结束返回EOF,出错返回0. 函数功能: sca ...

  6. C语言scanf函数详解

    函数名: scanf  功 能: 运行格式化输入  用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准输入设 ...

  7. scanf函数和printf函数

    C程序实现输出和输入的 主要是printf函数 和 scanf函数,这两个函数是格式输入输出 格式声明由%和格式字符组成 如%d,%f 格式字符:  d格式符:用来输出一个有符号的十进制整数  c格式 ...

  8. c语言scarf函数原型,scanf 函数原型.doc

    scanf 函数原型.doc scanf 函数原型 scanf 函数原型 int scanf( const char *format, ... ); scanf()函数是格式化输入函数,它从标准输入设 ...

  9. C语言scanf函数的返回值、scanf函数的安全版、在while条件中使用scanf函数

    scanf函数的返回值,是正确读取的项数:读入一个数,返回1,读入2个数,则返回2,如此: VC2012,先做一个测试程序: 提示出错: error C4996: 'scanf': This func ...

  10. c语言scanf()函数的原理

    scanf()函数的原理 想象输入设备(键盘)连接着一个叫"缓冲"的东西,把缓冲认为是一个字符数组. 当你的程序执行到scanf时,会从你的缓冲区读东西,如果缓冲区是空的,就阻塞住 ...

最新文章

  1. blfs(systemv版本)学习笔记-使用apache创建简单的网页服务器
  2. 南科大计算机系实力a,五大竞赛学科A+高校排行榜发布!北大实力碾压,科大赶超清华...
  3. 80网口打印机ip固定工具_打印机网络打印
  4. java 的单态模式(只可以创建一个对象)
  5. 【FileOutputStream类:文档中的换行与追加】
  6. 关于 Java 的强制类型转换
  7. centos7.x使用yum安装nginx
  8. 高等代数_第2章:证明_Laplace定理
  9. Excel之vlookup函数的模糊匹配和精准匹配
  10. 电磁场理论复习笔记-第一章(上)
  11. Flutter 报错:Unable to load asset: xxx.png 解决
  12. 新出炉的 100+ 篇技术热文,在微信热传,别错过哦
  13. Unity3D之鼠标的隐藏与显示
  14. html5绘制图形渐变-径向渐变
  15. MySQL InnoDB配置统计信息
  16. u盘无法linux,Linux 3.18U盘无法正确使用
  17. 【ESP32_8266_BT篇(二)】Beacon信标广播
  18. hdu 6044 hdu 6305 笛卡尔树
  19. 前端配色网站(转载)
  20. 知识文库杂志知识文库杂志社知识文库编辑部2022年第14期目录

热门文章

  1. 如何下载安装ubuntu系统
  2. BeautifulSoup与lxml
  3. Windows DNS服务器策略
  4. Python Selenium 字节校招实习岗筛选
  5. 你了解HTTP2协议吗?(一)
  6. Android App Widget中如何调用RemoteView中的函数
  7. 程序员的悲哀--动车追尾
  8. 计算机相关专业学生必读书单
  9. e1000网卡驱动小结
  10. 在Windows程序中打开控制台的程序