单项选择题

以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( )。
main()
int*p, *q, a, b;
p=&a;
printf("input a:");
scanf("%d", *p);

A) *p表示的是指针变量p的地址
B) *p表示的是变量a的值,而不是变量a的地址
c) *表示的是指针变量p的值
D) *p只能用来说明p是一个指针变量