在IAR STM8 环境下, MCU是 STM8S208MB
[mw_shl_code=c,true]
s8 add_test(s8 a, s8 b)
{
s8 ret = 0;
ret = a + b;
return ret;
}
int main(void)
{
...
if( add_test(2, 3 ) == 5 )
{
LOG("add_test ok");
}
...
}
[/mw_shl_code]
调试发现:如果参数的数据类型是int,就正常;
如果参数的数据类型是 unsigned char 或 signed char
参数的值就不正确,赋值时a=2, b=3, 进入函数后: a=0x2c, b=0x00
这是为什么啊? 哪位大神指点下迷津?
一周热门 更多>