一道有意思的面试题

一道面试题:


short s=0;
s = s + 1;

short s=0;
s += 1;

问题:这两个表达式有什么区别,会报什么错误?

===================================
编译结果:

在VS2005中编译,第一个编译报错,第二个没有问题.

===================================
最后的解释:

自动转换一般从低的往高的转换,所以第一个会报错。

另外++的过程是
type & operator ++(int);
type & operator +=(int);

问题原文:http://www.cnblogs.com/firstyi/archive/2007/11/28/975705.html

posted @ 2007-11-29 09:56  Yoshow  阅读(160)  评论(0)    收藏  举报