声明int类型,重新赋值后输出值不变?scanf的有关问题

声明int类型,重新赋值后输出值不变?scanf的问题
代码:
C/C++ code
int year=0;int month=0;int date=0;
        printf("请输入年月日三个数字:");

    scanf("%d-%d-%d",&year,&month,&date);
    printf("%d-%d-%d",year,month,date);


只有year能接收赋值,month和date都保持为0没变?怎么回事?

------解决方案--------------------
你输入的时候中间有这个吗 “-“
要按照scanf里面的格式来, 如2012-6-20
------解决方案--------------------
你也要输入-噢。