当前位置: 代码迷 >> 单片机 >> 自己找不到异常。
  详细解决方案

自己找不到异常。

热度:23   发布时间:2016-04-28 15:12:01.0
自己找不到错误。。
#include <reg52.h>

sbit M0h=P2^0;
sbit M0l=P2^1;

void delay()
{
int a,b;
for (a=0;a<120;a++)
{
for (b=0;b<200000;b++);
}
}

void main ()
{
M0l=1;
int i,j;
while(1)
{
for(i=0;i<100;i++)
{
M0h=1;
delay();
}
for(j=0;j<100;j++)
{
M0h=0;
delay();
}
}

}


编译后提示
A.C(18): error C141: syntax error near 'int'
A.C(18): error C202: 'i': undefined identifier
A.C(21): error C202: 'i': undefined identifier
A.C(26): error C202: 'j': undefined identifier
A.c - 4 Error(s), 0 Warning(s).
问题在哪

------解决方案--------------------

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
#include <reg52.h>
 
sbit M0h=P2^0;
sbit M0l=P2^1;
 
void delay()
{
    int a,b;
    for (a=0;a<120;a++)
    {
    for (b=0;b<200000;b++);
    }
}
 
void main ()
{

    int i,j;   //必须在前面 
    M0l=1;

    while(1)
    {
    for(i=0;i<100;i++)
    {
    M0h=1;
    delay();
    }
    for(j=0;j<100;j++)
    {
    M0h=0;
    delay();
    }
    }
     
}
 

------解决方案--------------------
    M0l=1;
    int i,j;
c 规定 变量要 先定义,再使用。
C++ 可以 遍 定义 遍 使用
------解决方案--------------------
C中变量的声明要在函数开头
------解决方案--------------------
void main ()
{
   unsigned int i,j;  
   M0l=1;

    while(1)
    {
    for(i=0;i<100;i++)
    {
    M0h=1;
    delay();
    }
    for(j=0;j<100;j++)
    {
    M0h=0;
    delay();
    }
    }
     
}
------解决方案--------------------
delay();
你这个函数有问题,51的int型应该是16位的, 200000超过16位了。
  相关解决方案