在主函数中定义局部变量时,当定义变量前有调用函数时,keil会报错,如
void main()
{
IO_Init();//IO端口初始化
unsigned char i;//定义一个局部变量
{..........}
}
像这种情况,keil就报错:error: #268: declaration may not appear after executable statement in block。说明IO_Init ()是一个可执行的函数,定义局部变量“i”时不能放在类似函数的后面。
解决办法:把定义局部变量“i”的语句放到调用函数的前面。
void main()
{
unsigned char i;//定义一个局部变量
IO_Init();//IO端口初始化
{..........}
}
===============================================================
同理,这种情况也可能发生在子函数中,所以在子函数中,最好是把所有要定义的局部变量的语句统一放在子函数想要调用的函数语句前面。