看程序的时候发现有的语句没加scanf,是随便加的吗
scanf()是输入语句,在要求你从键盘输入内容的时候才使用的
看你需不需要界面交互,scanf 是 scan format 的缩写,意思是格式化扫描,也就是从键盘获得用户输入,和 printf 的功能正好相反。主要看个人需求,
不知道你这个问题是否已经解决, 如果还没有解决的话:双引号内部如若不止"输入控制符",则输入时进行一一对应。
介绍前,先讲一下分隔符
#include<stdio.h>
int main()
{
int n;
scanf("n=%d", &n);
printf("%d", n);
return 0;
}
这时运行代码后,进入输入,必须对应输入双引号下,不然报错
正确对应输入后,取到我们想输入的值
不正确对应输入后,取不到我们想输入的值,如直接输入我们想要的10
什么也没取到,局部变量 n 未初始化,随机值。
又如
int main()
{
int n;
scanf("20=%d", &n);
printf("%d", n);
return 0;
}
一样的道理,无论是何种形式。
小结:
1)scanf函数 输入控制符 对输入的运用不同, 输入参数 为地址。
2)scanf函数中输入控制符%d,遇字母直接跳出缓冲区。
2)scanf函数的 双引号" " 下的内容,在从键盘上输入时要 采取一一对应 输入。