scanf 语法:
scanf (“格式占位符”,输入数据地址)
格式占位符参考 printf 里面的就可以,如:
int - %d
char - %c
double - %lf
字符串 - %s
输入数据的地址,需要利用 &符号来获取
注意:字符串不用写 &
说明:
格式占位符参数可以设置多值输入,一次性完成多个变量的输入
如:
int a = 0; int b = 0; scanf("%d %d",&a,&b); //此时可以利用空格分隔两个整数输入给变量 a 和 b
返回值:
scanf 的返回值代表输入成功的参数个数
如,上面的代码输入 10 20,则 scanf 正确接收两个变量,返回值为 2
如果输入为 10,20,则 scanf 正确接收变量 a ,b 无法成功接收,返回值为 1
说明:
我们在键盘上输入的数据会先存到一个地方,这个地方称为缓冲区,然后编译器会从缓冲区获取数据,在赋值给变量
注意事项:
当一段程序中有多次的数据输入,要注意换行符是否遗留在缓冲区中,如果换行符在里面,可能会产生程序中以外的错误
可以利用 getchar() 函数获取缓冲区中的换行符,解决上述问题
void rest2()
{
printf("请输入一个数字:\n");
int a = 0;
//count 得到scanf的返回值,可以理解为返回的是成功的个数
int count = scanf("%d",&a);
getchar(); // 带走回车键防止预留在缓冲区造成错误
printf("你输入的数字是:%d count = %d\n", a,count);
}