C语言无符号数和有符号数的转换?解决方法
C语言无符号数和有符号数的转换?
代码如下:
输出:
这是神马情况?
------解决方案--------------------
代码如下:
- C/C++ code
#include<stdio.h> int main(void) { int len = -4; unsigned len2 = 5; if(len - len2 >= 0) printf("%d\n", len * len2); else printf("0\n"); return 0; }
输出:
- Assembly code
-20 请按任意键继续. . .
这是神马情况?
------解决方案--------------------
- C/C++ code
if(len - len2 >= 0) printf("%u\n", len * len2);//你应该用%u打印,而不是用%d打印