为啥j和j+1能正常显示,而j+2却无法正常显示,j+2的值也没超出%llu的取值范围呀

unsigned int j=4294967295
printf("%u %llu %llu",j,j+1,j+2)

j是unsigned int 类型
j+2还是unsigned int 类型 你用 %llu 输出没有用
只有用(unsigned long long int)j 先转换j的类型再 +1 结果才正确

printf("%u %llu %llu",j,(unsigned long long int)j+1,(unsigned long long int)j+2);

j+2还是会用unsigned int 类型存储的,溢出就不行了