为什么无符号x x=-x x如何变成有符号的了
为什么无符号x x-x x怎么变成有符号的了C/C++ code#include stdio.h int main() {unsigned int x 2147
为什么无符号x x=-x x怎么变成有符号的了
C/C++ code#include "stdio.h" int main() { unsigned int x= 2147483648; x =-x; printf("%d\n",x);}
[解决办法]楼主知道%d是什么意思么?
[解决办法]%u
[解决办法]不是变成有符号的了,是因为被你强制作为有符号数输出了。要用printf打印无符号整数,应该用“%u”。
printf这种变参函数无法保证类型安全,你让它打印成什么它就打印成什么,你还可以试试“%x”、“%p”。甚至“%s”、“%f”,只是程序可能崩溃。