谁能向我解释为什么以下代码即使输出为无符号int也会输出-50?
int main()
{
signed char byte = -50;
unsigned int n;
n = (unsigned int) byte;
printf("n: %d", n);
}
输出:-50
强制转换正确,但是您打印不正确。%d
在中printf()
是int
,将其更改为:
printf("n: %u", n);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句