简单函数输出问题,为什么输出不相符的结果?

这样一个函数输出时为什么是这样一个结果?
PS:我知道函数功能写的不对,也知道正确的该怎么写。图片图片图片

第一次运行是1,这个是肯定的,之后运行的结果和编译器,操作系统有关,你换个编译器,换个操作系统就会出现不同的结果

图片说明
按理说,返回的是寄存器里面的值,是不确定的。可以参考这篇文章http://blog.csdn.net/woshidujian19881029/article/details/6450376

直接return year不就好了?