哪位高手帮我看看这个程序那里出错了,帮帮忙啊
#define uint unsigned int
#define uchar unsigned char
sbit wela=P2^7;
sbit dula=P2^6;
sbit d1=P1^0;
uint code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0xff,0xff};
uint code table1[]={
0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
void delay(uint z);
void main()
{
EA=1;
EX0=1;
int i,num;
while(1)
{
num=0;
do
{
for(i=0;i<6;i++)
{
wela=1;
P0=table1[i];
wela=0;
dula=1;
P0=table[num];
dula=0;
delay(1000);
num++;
d1=1;
}
}
while(num<16);
}
}
void delay(uint z)
{
int x,y;
for(x=z;x>0;x--)
for(y=100;y>0;y--);
}
void exter0() interrupt 0
{
d1=0;
delay(1000);
}
错误原因:
ZDSY_1.C(22): error C141: syntax error near 'int'
ZDSY_1.C(22): error C202: 'i': undefined identifier
ZDSY_1.C(25): error C202: 'num': undefined identifier
ZDSY_1.C(28): error C202: 'i': undefined identifier
ZDSY_1.C(31): error C202: 'i': undefined identifier
ZDSY_1.C(34): error C202: 'num': undefined identifier
ZDSY_1.C(37): error C202: 'num': undefined identifier
ZDSY_1.C(41): error C202: 'num': undefined identifier
C语言不过关啊~~~~~~~~~~分不清C和C++
把int i,sum放到main的下面试试
系统都提示 你了啊,字符没定义和int附近语法错误!
你看的书写习惯,貌似是那个郭天祥那小子学的吧,他视频我看过,那小子C语言基础太差编写不规范!
建议能用uchar就用uchar,其次uint,别int啊
int i,num;改成uint i,num;
你猜对了。
没什么问题,把int i,num;放在while循环里就好了,跟他们说的用int还是char没关系
刚开始学习c啊。
我把int i,num;放到void main()前面就可以了。但不知道为什么。
就这样,循环里用到的-新-变量在循环里设定,不然后面只在循环里执行,它不知道你定义了,它只在while里运行
我把int放到了while循环里也可以,但为什么放到void main下就不行呢?
这个涉及到局部变量和全局变量
51单片机不熟悉!针对你程序个人分析一下!有的单片机支持函数可重入性,有的不支持,最好不要在主函数中再次调用delay()函数!要想对于数据类型重新定义,最好用typedef关键字定义;你的中断是基于什么中断,是时间还是事件?估计是时间,但也没有时间设置;对于常量tab,最好加const关键字,增加函数健壮性;主循环可以用do..while(),虽然与while()效果一样,但编译会省空间;尽量不要用delay函数,会浪费资源。
在main外设置就是全局变量,在哪都可以用
在某个函数里定义就只在那个函数里有用(局部变量)
就是在不同的地方定义使用的范围就有区别,如果我说的不对不要笑哦,我语言可是挂过科的哦,呵呵
我加你以后我有问题也可以问你
哦,学习了,谢谢啦
呵呵,好啊,不过我是新手啊,可能要向你学习啦
嗯,学习了,刚开始用c语言写单片机程序,对c语言不熟悉,真在努力学习中