Scanf()函数的使用
发布网友
发布时间:2022-03-07 22:09
我来回答
共2个回答
热心网友
时间:2022-03-07 23:39
scanf(格式控制,地址表列)
int
scanf(char
*format[,argument,...]);
“格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。
scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
例:使用scanf函数输入数据。
在visual
c++
6.0上的编写方式。
#include
void
main()
{
int
a,b,c;
printf("please
input
a,b,c");
scanf("%d,%d,%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d",a,b,c);
}
在Dev-C++上运行程序为:
#include
int
main()
{
int
a,b,c;
printf("please
input
a,b,c");
scanf("%d,%d,%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d",a,b,c);
fflush(stdin);
getchar();
}
注意上面的scanf("%d,%d,%d",&a,&b,&c);中%d,%d,%d之间有逗号,在输入数据时也要加逗号,如果去掉逗号,输入时就不用逗号,而用空格,tab键或回车键将各个数据隔开
编辑本段格式字符说明
%a,%A
读入一个浮点值(仅C99有效)
%c
读入一个字符
%d
读入十进制整数
%i
读入十进制,八进制,十六进制整数
%o
读入八进制整数
%x,%X
读入十六进制整数
%s
读入一个字符串,遇空格、制表符或换行符结束。
%f,%F,%e,%E,%g,%G
用来输入实数,可以用小数形式或指数形式输入。
%p
读入一个指针
%u
读入一个无符号十进制整数
%n
至此已读入值的等价字符数
%[]
扫描字符集合
%%
读%符号
附加格式说明字符表修饰符说明
L/l
长度修饰符
输入"长"数据
h
长度修饰符
输入"短"数据
W
整型常数
指定输入数据所占宽度
*
表示本输入项在读入后不赋值给相应的变量
编辑本段scanf的返回值
scanf的返回值由后面的参数决定
scanf("%d%d",
&a,
&b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end
of
file,返回值为EOF。
且返回值为int型.
热心网友
时间:2022-03-08 00:57
scanf(格式控制,地址表列)
int
scanf(char
*format[,argument,...]);
“格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。
scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
//引用楼上.
int
x,y,*z=NULL;//下面用的的参数定义
scanf("%d",&x);
上面%d为格式控制符,&x代表参数x地址,%d代表你想要的参数是什么格式的,这里%d代表十进制,也可以换成其他的,如%f.
要想一次取录入多个数,就写成("%d
%d
%d",&x,y,&z);
输入时,"输入一个数字-->回车"算录完一个数字,或者采用格式控制中的
"%d
%d
%d",用空格分开也可以达到输入目的,如"3
4
5"再键入回车.
这样就可以在程序里用x
y
*z了.