论坛风格切换切换到宽版
  • 3929阅读
  • 3回复

C初学者的菜鸟问题 [复制链接]

上一主题 下一主题
离线XLDZZ
 
发帖
443
只看楼主 倒序阅读 0楼 发表于: 2009-09-07
小弟初学c,有个菜鸟级问题如下:
程序报错内容为
error[000] e:\project\mcu\c test\c.c 16 : not an argument: main
warning[000] e:\project\mcu\c test\c.c 16 : external declaration inside function
error[000] e:\project\mcu\c test\c.c 16 : ; expected
error[000] e:\project\mcu\c test\c.c 17 : { expected
warning[000] e:\project\mcu\c test\c.c 27 : function declared implicit int
warning[000] e:\project\mcu\c test\c.c 34 : unused variable declaration: main (from line 16)
error[000] e:\project\mcu\c test\c.c 35 : no identifier in declaration
warning[000] e:\project\mcu\c test\c.c 35 : missing basic type: int assumed
error[000] e:\project\mcu\c test\c.c 35 : ; expected
error[000] e:\project\mcu\c test\c.c 37 : function redefined: sc
halting build on first failure as requested.
build failed: mon sep 07 2312 2009
---------------------------------------------------------


#include<pic.h>
#define uchar unsigned char
#define uint unsigned int
__config(0x3b31);
//uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  //               0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uint x)
{
     uint a,b;
     for(a=x;a>0;a--)
           for(b=110;b>0;b--);
}
void sc()

void main()
{
     trisb=0;
     trisd=0;
  trise=0;
  portb=0;
  portd=0;
  porte=0;
     while(1)
     (
           portb=0x20;//0011 1000
           portd=0x01;      
           sc();
    delay(1);
           portb=0x10;//0011 1000
           portd=0x01;      
           sc();
    delay(1);

     }
}
void sc()
  {
  porte=0x6;
  nop();nop();
  porte=0x00;
  }
离线danju
发帖
415
只看该作者 1楼 发表于: 2009-09-07
楼上您的错误基本上都是语法错误

第一个void sc() 这个函数没有写完整,可以把后面的sc()函数移到这里开孔试试看
发帖
146
只看该作者 2楼 发表于: 2009-09-08
#include<pic.h>
#define uchar unsigned char
#define uint unsigned int
__config(0x3b31);
//uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
// 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void sc();

void main()
{
trisb=0;
trisd=0;
trise=0;
portb=0;
portd=0;
porte=0;
while(1)
(
portb=0x20;//0011 1000
portd=0x01;
sc();
delay(1);
portb=0x10;//0011 1000
portd=0x01;
sc();
delay(1);
)
}
void sc()
{
porte=0x6;
nop();nop();
porte=0x00;
}

给你找了两处语法上的错误,我没pic环境.所以其它错误就自己找吧.
离线杨向勇
发帖
157
只看该作者 3楼 发表于: 2009-09-08
楼上的 while 后面的循环体应该是用{} 扩起来表示一个复合语句,而不是用()的