unsigned 和 signed 的比較 (怪)
unsigned int i=1;
int j=-1
if(i>j) printf(“i>j”);
else printf(“j>i);
用VS2008 C++竟然出現 j>i。
uint i=1;
j=-1;
if(i>j) Console.Write(“i>j”);
else Console.Write(“j>i);
這次用C#就印出正常的 i>j。
Luse Cheng - Nov. 2, 2009 - Delete
C# 跟 C 遇到這種狀況的處理是不太一樣
如果是C 的話 依ISO C99 的 Rule 這樣的狀況 j>i 的確是符合Spec的
如果是C#的話 在Spec內提到這種狀況應該做promotion 所以會有這樣的結果也是對的
留言