scanf的具体用法


scanf()【通过键盘将数据输入到变量中】

两种用法:

用法一:scanf("输入控制符", 输入参数);

功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中。

用法二:scanf("非输入控制符 输入控制符", 输入参数);

功能:非输入控制符必须原样输入

/*
   2020.6.2
目的:测试scanf中含有非输入控制符时候,怎么样输入是合法的,怎样输入是非法的
?
*/
?
?
?
# include
int main(void)
{
int i;
scanf("m%d", &i); // m123是合法输入   123是非法输入
printf("i = %d\n", i);
return 0;
?
}
/*
   在vc++的结果是:
-----------------------------------------
123
i = -858993460
?
m123
i = 123
?
m123n
i = 123
?
结论:
   含非输入控制符必须原样输入,当后面有非法的字符输入时,软件会自动忽略
*/
# include
int main(void)
{
int i, j;
scanf("%d %d", &i, &j);
printf("i = %d j = %d\n", i, j);
return 0;
?
}
?
/*
  2020.6.3 15:30
  目的:当scanf中有非输入控制符,结果是什么样子
?
?
*/
# include
int main(void)
{
int i, j;
scanf("%d, %d" , &i, &j);
printf("i = %d j = %d\n" , i, j);
return 0;
}
/*
  结果:
-----------------------------------------
123 456
i = 123 j = -858993460
?
123,456
i = 123 j = 456
-----------------------------------------
?
*/

如何使用scanf编写出高质量的代码

1.使用scanf之前最好先使用printf提示用户以什么样的方式来输入。

2.scanf中尽量不要使用非输入控制符,尤其不要用\n



相关