C语言,有个问题没有琢磨清楚,请大神帮忙
代码如下:
#include<stdio.h>
void main(void)
{
int year,month,day,num;
scanf("%*6d%4d%2d%2d",&year,&month,&day);
printf("你的生日是:%4d-%02d-%02d\n",year,month,day);
scanf("%*14d%4d",&num);
printf("%04d\n",num);
}
我想达到的目的是,在第一次输入身份证的时候,输出的是你的生日,
在第二次输入身份证的时候,输出的是后四位。
但是问题就出现在第二次输出的结果,结果输出了身份证的前四位????
我尝试把前面一段printf和scanf去掉,后一段输出是后四位,这又没有问题。
问题到底出在哪里呢?