C语言scanf函数的介绍
2014-07-06 16:20
267 查看
首先需要#include <stdio.h>
int scanf( const char *format, ... );
scanf()函数是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
第一个参数format为一个常量字符串,这个字符串中如果包含‘%’符号则使用后续参数进行匹配
如:scanf("%d%d", &a, &b);
格式说明符
转换字符(就是%后跟的部分)
a 读浮点值(仅适用于 C99)
A 读浮点值(仅适用于 C99)
c 读单字符
d 读十进制整数
i 读十进制、八进制、十六进制整数
e 读浮点数
E 读浮点数
f 读浮点数
F 读浮点数(仅适用于 C99)
g 读浮点数
G 读浮点数
o 读八进制数
s 读字符串
x 读十六进制数
X 读十六进制数
p 读指针值
n 至此已读入值的等价字符数
u 读无符号十进制整数
[ ] 扫描字符集合
% 读 % 符号(百分号)
附加格式说明字符表修饰符说明
L/l 长度修饰符 输入"长"数据
h 长度修饰符 输入"短"数据
W 整型常数 指定输入数据所占宽度
* 表示本输入项在读入后不赋值给相应的变量
scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
如:
scanf("%d%d",&a,&b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF。
且返回值为int型.
例:使用scanf函数输入数据。
#include<stdio.h>
intmain(void)
{
inta,b,c;
printf("输入a,b,c\n");
scanf("%d%d%d",&a,&b,&c);
printf("a=%db=%dc=%d\n",a,b,c);
fflush(stdin);
return0;
}
注意上面的scanf("%d,%d,%d",&a,&b,&c);中%d,%d,%d之间有逗号,输入数据时就必须用逗号将各个数据隔开
&a,&b,&c中的&是地址运算符,&a指a在内存中的地址。scanf的作用是:按照a,b,c的内存地址将a,b,c的值存进去。变量a,b,c的地址是在编译连续阶段分配的。
这里注意:如果scanf中%d是连着写的如“%d%d%d”,在输入数据是,数据之间不可以加逗号,只能是空格或tab键或者回车键——“2 3 4”/“2(按tab)3(按tab)4(按tab)”。若是“%d,%d,%d”,则在输入数据时需要加“,”——“2,3,4”.
int scanf( const char *format, ... );
scanf()函数是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
第一个参数format为一个常量字符串,这个字符串中如果包含‘%’符号则使用后续参数进行匹配
如:scanf("%d%d", &a, &b);
格式说明符
转换字符(就是%后跟的部分)
a 读浮点值(仅适用于 C99)
A 读浮点值(仅适用于 C99)
c 读单字符
d 读十进制整数
i 读十进制、八进制、十六进制整数
e 读浮点数
E 读浮点数
f 读浮点数
F 读浮点数(仅适用于 C99)
g 读浮点数
G 读浮点数
o 读八进制数
s 读字符串
x 读十六进制数
X 读十六进制数
p 读指针值
n 至此已读入值的等价字符数
u 读无符号十进制整数
[ ] 扫描字符集合
% 读 % 符号(百分号)
附加格式说明字符表修饰符说明
L/l 长度修饰符 输入"长"数据
h 长度修饰符 输入"短"数据
W 整型常数 指定输入数据所占宽度
* 表示本输入项在读入后不赋值给相应的变量
scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
如:
scanf("%d%d",&a,&b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF。
且返回值为int型.
例:使用scanf函数输入数据。
#include<stdio.h>
intmain(void)
{
inta,b,c;
printf("输入a,b,c\n");
scanf("%d%d%d",&a,&b,&c);
printf("a=%db=%dc=%d\n",a,b,c);
fflush(stdin);
return0;
}
注意上面的scanf("%d,%d,%d",&a,&b,&c);中%d,%d,%d之间有逗号,输入数据时就必须用逗号将各个数据隔开
&a,&b,&c中的&是地址运算符,&a指a在内存中的地址。scanf的作用是:按照a,b,c的内存地址将a,b,c的值存进去。变量a,b,c的地址是在编译连续阶段分配的。
这里注意:如果scanf中%d是连着写的如“%d%d%d”,在输入数据是,数据之间不可以加逗号,只能是空格或tab键或者回车键——“2 3 4”/“2(按tab)3(按tab)4(按tab)”。若是“%d,%d,%d”,则在输入数据时需要加“,”——“2,3,4”.
相关文章推荐
- [C语言]Scanf()函数详细介绍篇
- C语言图形函数介绍篇
- 在C语言中关于scanf函数的高级应用
- c语言scanf函数
- C语言专题——Scanf()函数注意之处
- 空格在scanf函数中作参数(c语言)
- C语言:清空键盘缓冲区(使用scanf(),getchar()函数必读)
- C语言scanf函数与空格
- c语言输入输出函数printf与scanf的用法格式
- C语言 gets()和scanf()函数的区别
- C语言中,时间调用处理的相关函数介绍
- Linux下C语言之操作字符串函数介绍及实例之一
- C语言中关于scanf()函数返回值问题
- C语言 gets()和scanf()函数的区别
- c语言 scanf 函数使用详解
- Scanf()函数详细介绍篇
- c语言输入输出函数printf与scanf
- c语言中时间函数介绍
- C语言scanf()函数返回值的问题
- C语言-- gets()和scanf()函数的区别