c语言中的scanf 函数的用法

Python021

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

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()函数

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

scanf是C语言中的输入函数,可以从键盘获得用户输入,和printf输出功能正好相反。scanf的输入格式是多种多样的,使用时需根据情况选择,最常用的是十进制整数型输入%d。

scanf的使用和输入格式

scanf("%d", &c)//输入一个整数并赋值给c。

scanf("%d", &d)//输入一个整数并赋值给d。

scanf("%d,%d", &c, &d)//输入两个整数并分别赋值给c、d。

scanf("%d %d", &c, &d)//输入两个整数并分别赋值给c、d。

前两个scanf:输入一个整数,按下回车键,scanf会读取键盘输入,并把数据赋值给c(或d);后两个scanf:都是一样功能,输入格式不同,对于scanf(),输入数据的格式要和控制字符串的格式保持一致。比如:输入15 24回车,输入15,24回车,同样的把值分别赋给c和d。

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

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