1、项目中经常使用变量。 在定义和传递变量的过程中,经常会出现负数的反转问题:
int test_funtion () {return -1; } void poll _ fun (统一内建) while (a250 ) printf(pollfun(n ); }}void test_negative () {char function_ret; f_ret=test_funtion (; //轮训函数poll_fun(f_ret ); }在数据传输过程中,int类型的-1将转换为unsigned char类型的数据源:1 000 0001 (补码: 1111 1111 ),因此可以看到a=255,poll_fun一直在循环中。
总结:
1 )参数要求为无符号型函数,使用带符号整数作为参数时,进行参数合法性检查,不使用负数
2 )使用带符号整数作为数组下标时,首先进行参数的合法性检查,不使用负数
3 )使用带符号整数作为循环语句上限时,进行参数的合法性检查,以避免使用负数。