char exchange(char source)
{
char high=source<<4; /*将source右移取高四位,低四位补0赋值给high,*/
char low=source>>4; /*将source右移取高四位,低四位补0赋值给high,*/
return high+low; /*两者相加即得经过交换的数,return将其返回给调用函数*/
}
主函数调用如下所示
main
{
char a=0;
a=exchange(0x36);
}
问题:在主函数中执行到 a=exchange(0x36);时,进入子函数后,程序直接跳到 return high+low;而不执行char high=source<<4; char low=source>>4;这两句,这是怎么回事???
我用的是IAR 芯片是stm32107vct7.希望高手给我解答一下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>