c语言中有关scanf的输入问题

代码如下

#include<stdio.h>

int main()
{
    int x1,x2;
    char y1,y2;
    scanf("%2d%3d%3c%c",&x1,&x2,&y1,&y2);
    printf("x1=%d,x2=%d,y1=%c,y2=%c\n",x1,x2,y1,y2);
    return 0;
 } 

结果如下:

图片说明

在dev-C 5.11下运行
gcc版本:64bit4.9.2

问题:为什么x2读入的不是765?

虽然刚学C,不太懂,但是希望能够帮到你图片说明
刚贴的代码,VC6.0运行没有你提到的问题,输出的x2确实是765