c语言简单问题,就是编译错误,求解答

void myframe(void)
{
POINT_COLOR=GRAYBLUE;
unsigned char i;

    for(i=0;i<5;i++)
    {
    LCD_DrawRectangle(i, i, 240-i, 320-i);
    }

}

错误提示:

main.c(20): error:  #268: declaration may not appear after executable statement in block

求解答啊,在线等

就是说你声明变量的地方不对,特能在执行语句的后面声明

定义变量放在了函数之后,没有放在最前面~~这是不行的

i是char类型的好像不能进行加减运算吧

C中变量声明必须在开头,不能在一条执行语句的后面。

declaration声明 may not不能 appear出现在 after之后 executable 可执行statement 语句in block在代码块
把unsigned char i;写在第一行
你用的C编译器很老或者是单片机上的那种吧。现代的C++没有这个要求。

void myframe(void)
{
unsigned char i;
POINT_COLOR=GRAYBLUE;

for(i=0;i<5;i++)
{
LCD_DrawRectangle(i, i, 240-i, 320-i);
}

}