scanf()函数的使用
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()函数的使用相关推荐
- scanf()函数的用法和实践
scanf()函数的用法和实践 摘要: 本文阐述了基于ANSI,Win 95,Win NT上的 C/C++语言中scanf()函数的用法,以及在实际使用中常见错误及对策. 关键词: scanf() 一 ...
- scanf 接收 空格 输入_你需要知道的scanf函数用法
scanf函数 上一节中我们讨论了,如何将整数,浮点数,字符串打印到屏幕上去.既然有输出,怎么能没有输入呢?这一节中,我们来介绍与printf相反的scanf函数. scanf的功能是将键盘输 ...
- C语言基础之--scanf函数
写代码的时候,我们可以看得出,几乎每一个C程序都会包括输入输出.输入输出是程序中最基本的操作之一.C语言本身并不提供输入输出的语句,输入输出操作是由C标准函数库中的函数来实现的.今天就先说说输入:sc ...
- C语言中的scanf()函数介绍
1.scanf函数:读取从键盘输入的数据 在C语言中,有多个函数可以从键盘获得用户输入: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据 getchar().get ...
- scanf函数详解与缓冲区
1.基本信息 函数原型: int scanf( char *format, args, ...); 函数返回值: 读入并赋给args的数据个数,遇到文件结束返回EOF,出错返回0. 函数功能: sca ...
- C语言scanf函数详解
函数名: scanf 功 能: 运行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准输入设 ...
- scanf函数和printf函数
C程序实现输出和输入的 主要是printf函数 和 scanf函数,这两个函数是格式输入输出 格式声明由%和格式字符组成 如%d,%f 格式字符: d格式符:用来输出一个有符号的十进制整数 c格式 ...
- c语言scarf函数原型,scanf 函数原型.doc
scanf 函数原型.doc scanf 函数原型 scanf 函数原型 int scanf( const char *format, ... ); scanf()函数是格式化输入函数,它从标准输入设 ...
- C语言scanf函数的返回值、scanf函数的安全版、在while条件中使用scanf函数
scanf函数的返回值,是正确读取的项数:读入一个数,返回1,读入2个数,则返回2,如此: VC2012,先做一个测试程序: 提示出错: error C4996: 'scanf': This func ...
- c语言scanf()函数的原理
scanf()函数的原理 想象输入设备(键盘)连接着一个叫"缓冲"的东西,把缓冲认为是一个字符数组. 当你的程序执行到scanf时,会从你的缓冲区读东西,如果缓冲区是空的,就阻塞住 ...
最新文章
- blfs(systemv版本)学习笔记-使用apache创建简单的网页服务器
- 南科大计算机系实力a,五大竞赛学科A+高校排行榜发布!北大实力碾压,科大赶超清华...
- 80网口打印机ip固定工具_打印机网络打印
- java 的单态模式(只可以创建一个对象)
- 【FileOutputStream类:文档中的换行与追加】
- 关于 Java 的强制类型转换
- centos7.x使用yum安装nginx
- 高等代数_第2章:证明_Laplace定理
- Excel之vlookup函数的模糊匹配和精准匹配
- 电磁场理论复习笔记-第一章(上)
- Flutter 报错:Unable to load asset: xxx.png 解决
- 新出炉的 100+ 篇技术热文,在微信热传,别错过哦
- Unity3D之鼠标的隐藏与显示
- html5绘制图形渐变-径向渐变
- MySQL InnoDB配置统计信息
- u盘无法linux,Linux 3.18U盘无法正确使用
- 【ESP32_8266_BT篇(二)】Beacon信标广播
- hdu 6044 hdu 6305 笛卡尔树
- 前端配色网站(转载)
- 知识文库杂志知识文库杂志社知识文库编辑部2022年第14期目录