关于类型转换的有关问题
关于类型转换的问题
unsigned int i=4;
int j=-20;
i+j>4?puts(">4"):puts("<=4");
printf("i+j=%d\n",i+j);
这个的输出结果为什么是 >4 和 -16 ,求解释
------解决方案--------------------
%d是按整型打印,所以会是-16,但是你的“i+j”的结果不是整型的,
------解决方案--------------------
%d是有符号的……输出无符号用%u
unsigned int i=4;
int j=-20;
i+j>4?puts(">4"):puts("<=4");
printf("i+j=%d\n",i+j);
这个的输出结果为什么是 >4 和 -16 ,求解释
------解决方案--------------------
%d是按整型打印,所以会是-16,但是你的“i+j”的结果不是整型的,
------解决方案--------------------
%d是有符号的……输出无符号用%u