uint32_t fail_count = 0;
...
if(is_failed)
if(fail_count < UINT32_MAX - 1 )
++fail_count;
Run Code Online (Sandbox Code Playgroud)
它工作正常,但是此代码易碎。明天,我可能会将fail_countfrom 的类型更改为uint32_t,int32_t而忘记更新UINT32_MAX。
有什么方法可以在我编写s 的函数中断言fail_counta 吗?uint32_tif
PS 1-我知道在C ++中很容易,但是我正在寻找一种C方式。
PS 2-与使用编译器警告相比,我更喜欢使用两个断言。通过检查数字大小sizeof应该可以,但是有什么方法可以区分类型是否为无符号?
c ×1