http://baike.baidu.com/link?url=_jA_bLzWLL40JZSilgzn32u2m3Ae7nYS6GXMiUvuP0HchzP4YvPOf_E1jhtcCVlV-oWqTKfs076ytoS0TBFCUa
scanf
编辑
1函数原型编辑
1
|
intscanf(constchar*format,...);
|
其调用形式为: scanf("<格式说明字符串>",<变量地址>);变量地址要求有效,并且与格式说明的次序一致。
2返回值编辑
scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
如:
1
|
scanf
(
"%d%d"
,&a,&b);
|
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为
EOF。
且返回值为
int型.
例:使用scanf函数输入数据。
1
2
3
4
5
6
7
8
9
10
|
#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”.