请问:
#include "stdio.h "
void main()
{
unsigned int k;
k= 0xffffffff;
printf( "%d ",k);
}
为何输出-1?
#include "stdio.h "
void main()
{
int k;
k= 0xffffffff;
printf( "%d ",k);
}
这个才是-1啊。
[解决办法]
第一个k在内存中当然是表示0xffffffff,而不是-1,不过你printf格式输出的时候是按照有符号数来解释的,要输出无符号数应该用%u而不是%d。