i是无符号的,永远大于等于0啊改成int i
打印出来的虽然是负数,因为%d是打印有符号整型数(无符号数被当做了整型数),打印无符号整型数(十进制)时,应该用%u
你那个i的定义有问题 应该改成int i 不要无符号的定义