Scanf函数

来源:互联网 发布:java在cmd中输入中文 编辑:程序博客网 时间:2024/06/05 07:17

Scanf函数
1.功能:接受用户从键盘中键入的数据,并按照格式控制符的要求进行类型转换,再送到地址表列中对应的变量存储单元

2.一般形式:scanf(“输入格式串”,输入项地址表列);

3.返回类型:scanf函数返回成功读入的数据项数,读入数据时出现错误或者遇到了“文件结束”则返回EOF。

4.输入格式串:

格式串 含义 备注 延伸1 延伸2 延伸3 %d int %ld long int %md m为指定的输出字段的宽度 %.nd n为指定的输出实数的小数位 %f float %lf double %o 八进制int %x 十六进制int %u unsigned-无符号整形 %lu long unsigned-无符号长整形 %e 以指数形式输出实数 %g 根据数值的大小,自动选f格式或e格式输出实数 选择输出是占宽度较小的一种,不输出无意义的零。 %c char-一个字符 %s string-一个字符串 %p pointer-指针的值-十六进制整形- 相当于0x%x,常用在变量地址的输出 %[scanfset] 功能见下方

5.scanf函数输入详解:
(1)用scanf函数输入字符串,以及scanf和gets函数的区别:
①char string[];scanf(“%s”,string);//输入字符串到字符数组,遇到回车键,Tab,空格输入结束。
②char string[];gets(string);//可以接收空格,tab,遇到回车键结束。
(2)scanfset 有两种形式:
①scanf(“%[bulabula~]”,str);//一种是以非 “^” 字符开头的 scanset , 表示在读入字符串时将匹配所有在 scanfset 中出现的字符,遇到非scanfset 中的字符时输入就结束;
②scanf(“%[^bulabula~]”,str);//另外一种形式是以 “^” 字符开头的scanfset ,表示在读入字符串时将匹配所有不在scanfset 中出现的字符,遇到scanfset 中的字符输入就结束。
比如:scanf(“%[^\n]”,str);//表示遇到回车键时字符串输入结束,可接收空格等特殊字符。

6.注意事项:
①scanf函数在输入过程中如遇格式错误会立即停止输入。

引用:格式字符-百度百科,《计算机程序设计-C语言版》

原创粉丝点击