c语言中scanf的用法

Python023

c语言中scanf的用法,第1张

C语言中scanf是标准库函数,主要用来接收用户输入的数据。

C标准函数库是所有符合标准的头文件的集合,以及常用的函数库实现程序,例如I/O输入输出和字符串控制。不像这三种COBOL、Fortran和PL/I等编程语言,在C语言的工作任务里不会包含嵌入的关键字,所以几乎所有的C语言程序都是由标准函数库的函数来创建的。

C语言简介

C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。

scanf 函数最主要的用法是:

scanf("输入控制符", 输入参数)

功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。

用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志。所以题中函数输出的值只有空格前面的部分。

如果想要输出包括空格在内的所有数据,可以使用gets()函数读入数据。gets()函数的功能是读取字符串,并存放在指定的字符数组中,遇到换行符或文件结束标志时结束读入。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志'\0'。

扩展资料:

使用scanf()函数需要注意的问题:

1.对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。

2.可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。

3.scanf函数中没有类似printf的精度控制。

如:scanf("%5.2f",&a)是非法的。不能企图用此语句输入小数为2位的实数。

4.scanf中要求给出变量地址,如给出变量名则会出错

如:scanf("%d",a)是非法的,应改为scanf("%d",&a)才是合法的。

5.在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔。

C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。

6.在输入字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。

参考资料:

百度百科-scanf()函数

百度百科-gets()函数

1、C语言中scanf函数的用法主要是通过终端格式化输入函数,从标准输入流stdin中读取输入信息的通用子程序,可以说明的格式读入多个字符,并保存在相应地址的变量中,也可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。

2、scanf函数的格式说明:读浮点值(仅存于C99),c读单字符,d读十进制整数,i读十进制、八进制、十六进制整数。如果scanf函数返回成功赋值的数据项数,出错时则返回EOF;其控制串由三类字符构成,分别为:格式化说明符,空白符,非空白符。