------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
函数scanf(),是标准C语言库里常用的一个格式输入函数,用于按用户指定的格式从键盘上把数据输入到指定的变量之中。
其调用形式为: scanf("<格式说明字符串>",<变量地址>);变量地址要求有效,并且与格式说明的次序一致。
示例:
int main(int argc, const char * argv[]) {
int a;
scanf("%d",&a);
printf("%d\n",a);
return 0;
}
此时,我们输入一个整数,比如:1,则会输出1。
需要注意的是,scanf()函数是有返回值的,返回的是int类型的数据。
比如下面的代码,我们会得到2,1结果。
int main(int argc, const char * argv[]) {
int a,b;
b=scanf("%d",&a);
printf("%d,%d\n",a,b);
return 0;
}
使用scanf()输入多个数据时与单个输入类似,需要注意的是混合输入多个数据的时候,可能会出错。
比如,我们需要输入一个整数一个字符一个带小数这样的数据时,类似下面的代码就会出错。
int main(int argc, const char * argv[]) {
int a;
char ch;
float f;
scanf("%d%c%f",&a,&ch,&f);
printf("%d,%c,%f\n",a,ch,f);
return 0;
}
12, ,0.000000 很明显不是我们想要的结果。
所以,我们可以通过以下的两段代码来解决这个问题:
第一,三次调用scanf函数。
例如:
int main(int argc, const char * argv[]) {
int a;
char ch;
float f;
scanf("%d ",&a );
scanf(" %c ", &ch );
scanf(" %f", &f);
printf("%d,%c,%f\n",a,ch,f);
return 0;
}
int main(int argc, const char * argv[]) {
int a;
char ch;
float f;
scanf("%d,%c,%f",&a,&ch,&f);
printf("%d,%c,%f\n",a,ch,f);
return 0;
}
以上就是我们使用scanf函数时需要特别注意的地方。