scanf的输入问题,&的意义以及使用方法

老师说a前要有地址,我的理解是在a前面加一个&,但是为什么我以前操作的时候不加也可以运行,我在mooc上面上翁凯老师的课他也没有讲每次都要加&,想知道它的意义,还有什么时候需要加。

&a,表示a的指针,指向a的物理地址,s=&a;<=>*s=a;

取地址就要加&

#include<stdio.h>
int main()

{
int a;
float b;
double c;
printf("Please input a\n");
scanf ("%d",a);
printf("Please input b\n");
scanf("%f",&b);
printf("Please input c\n");
scanf("%lf",&c);
return 0;
}
源代码是这样的
图片上传不上去