#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位了。