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 类型存储的,溢出就不行了