int nn1 = -65;
unsigned int nn2 = 63;
int nn3 = nn1%nn2;
printf("%d,%d/n", nn3,-65%63);
编译后,执行结果:2,-2
原因:隐式类型转换。
注意:string.length()方法,在不同平台返回值的类型是不一样的。在AIX下返回类型为unsigned int;而在VC下则是int。
因此在有隐式类型转换风险时必须注意,不同平台可能得到不同结果。
int nn1 = -65;
unsigned int nn2 = 63;
int nn3 = nn1%nn2;
printf("%d,%d/n", nn3,-65%63);
编译后,执行结果:2,-2
原因:隐式类型转换。
注意:string.length()方法,在不同平台返回值的类型是不一样的。在AIX下返回类型为unsigned int;而在VC下则是int。
因此在有隐式类型转换风险时必须注意,不同平台可能得到不同结果。