VS2010编程的scanf输入,老是出问题,为什么?

typedef struct
{
char a1;
int a2;
int a3;
}car; //存储车辆信息的结构体

 printf("******************************************************\n");
 printf("请输入车辆的来去信息:");
 /*scanf("%c,%d,%d",&(c.a1),&(c.a2),&(c.a3));*/
 scanf("%c",&(c.a1));
 getchar();
 printf("请输入车辆的车牌号:");
 scanf("%d",&(c.a2));
 getchar();
 printf("请输入车辆到达或者离开的时间:");
 scanf("%d",&(c.a3));
 getchar();
 //printf("车辆的来去信息是%c啊:",c.a1);
 printf("******************************************************\n");
 printf("\n");
 printf("来去:%c编号:%d时间:%d",c.a1,c.a2,c.a3);

运行结果显示c.a1里面存的是一个空格,而不是我输入的A

这个程序没问题啊。我用code blocks测试了。

加了这两行没?
#include
#include