注册 登录
编程论坛 C语言论坛

switch.c(51): error C141: syntax error near 'void'啊啊啊,这里不知道咋回事了

silencejjj 发布于 2019-10-26 15:16, 2294 次点击
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint  unsigned int
sbit S1=P1^0;
sbit S2=P1^1;
uchar code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//&sup1;&sup2;&Ntilde;&ocirc;LED&Ecirc;&yacute;&Acirc;&euml;&sup1;&Uuml;&para;&Icirc;&Acirc;&euml;±í
void plus(void);//&ordm;&macr;&Ecirc;&yacute;&micro;÷&Oacute;&Atilde;&Eacute;ù&Atilde;÷
void minus(void);
void key_scan(void);
uchar keyval;
void delay(uint t)      //&Ntilde;&Oacute;&Ecirc;±&ordm;&macr;&Ecirc;&yacute;
{
    uchar j;
  while(t --)
  for(j=0;j<200;j++);
}
void main()   //&Ouml;÷&ordm;&macr;&Ecirc;&yacute;
{
    while(1)
    key_scan();
   

switch(keyval)//&Aring;&ETH;&para;&Iuml;p1&iquest;&Uacute;&micro;&Iacute;&Aacute;&frac12;&Icirc;&raquo;&micro;&Auml;×&acute;&Igrave;&not;
{
    case 0:
       break;
    case 2: plus();
        break;
    case 1: minus();
       break;
    case 3:
       break;
}

}

void plus(void)    //&Otilde;&yacute;&Iuml;ò&Ntilde;&shy;&raquo;·&ordm;&macr;&Ecirc;&yacute;
{
    uchar i;
    while(1)
{
    for(i=0;i<10;i++)
    {
    P0=seg[i];
    delay(700);
    if(seg[i]==0x90)
    i=0;
    }
}
void minus(void)    //·&acute;&Iuml;ò&Ntilde;&shy;&raquo;·&ordm;&macr;&Ecirc;&yacute;
{
    uchar i;
    while(1)
2 回复
#2
forever742019-10-26 20:24
很明显括号不配对嘛
#3
纯蓝之刃2019-10-26 21:13
void plus(void)函数最后少了一个}
程序代码:
void plus(void)    //&Otilde;&yacute;&Iuml;ò&Ntilde;&shy;&raquo;·&ordm;&macr;&Ecirc;&yacute;
{
    uchar i;
    while(1)
    {
        for(i=0;i<10;i++)
        {
            P0=seg[i];
            delay(700);
            if(seg[i]==0x90)
            i=0;
        }
    }
}

这些都是最基本的问题,你这天天都有这样的问题。我建议你还是先把编程的应用部分放放,看看c语言基础,从简单的例程慢慢做起。
1