标题: keil里的error c141语法错误,怎么解决 [打印本页]

作者: 760626361    时间: 2018-8-7 15:33
标题: keil里的error c141语法错误,怎么解决

  1. #include<reg52.h>
  2. typedef unsigned char u8;
  3. typedef unsigned int u16;
  4. sbit Q1=P2^2;
  5. sbit Q2=P2^3;
  6. sbit Q3=P2^4;
  7. u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  8.      0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  9. void delay(u16 i)
  10. {
  11. while(i--);
  12. }
  13. void display()
  14. {
  15. u8 i;
  16. for(i=0;i<8;i++)
  17. {
  18.   switch(i)
  19.   {
  20.    case(0):
  21.     Q1=0;Q2=0;Q3=0;break;  
  22.    case(1):Q1=1;Q2=0;Q3=0;break;
  23.    case(2):Q1=0;Q2=1;Q3=0;break;
  24.    case(3):Q1=1;Q2=1;Q3=0;break;
  25.    case(4):Q1=0;Q2=0;Q3=1;break;
  26.    case(5):Q1=1;Q2=0;Q3=1;break;
  27.    case(6):Q1=0;Q2=1;Q3=1;break;
  28.    case(7):Q1=1;Q2=1;Q3=1;break;
  29.   }
  30.   P0=smgduan[i];
  31.   delay(100);
  32.   P0=0x00;
  33. }
  34. }
  35. void main()
  36. {
  37. while(1)
  38. {
  39.   display();
  40. }
  41. }
复制代码

作者: jefelee    时间: 2018-8-7 15:58
while(1)后面是不是少个分号
作者: yousunny    时间: 2018-8-7 16:08
最后面补一个大括号.--(不行,再私聊)
作者: 111252    时间: 2018-8-7 18:39
case(0)后面是要加分号的,
作者: 760626361    时间: 2018-8-7 19:04
jefelee 发表于 2018-8-7 15:58
while(1)后面是不是少个分号

试了,没有用
作者: 760626361    时间: 2018-8-7 19:04
yousunny 发表于 2018-8-7 16:08
最后面补一个大括号.--(不行,再私聊)

不行呢
作者: HC6800-ES-V2.0    时间: 2018-8-8 08:35
第一:你贴出来的程序没有错误,我已经在我的keil中编译通过了。
第二:你贴出来的程序只有41行,而你发的错误图片中,错误在59行,说明你的程序中,还有没有看到的内容,你再看看,是不是有你不需要的内容还在编译器内。
作者: 一见倾心    时间: 2019-10-20 22:41
jefelee 发表于 2018-8-7 15:58
while(1)后面是不是少个分号

while(1)后边不用加也行,加了也没错,哈哈




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1