| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1950 人关注过本帖
标题:关于数组定义问题
只看楼主 加入收藏
我是凯皇
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-6-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
关于数组定义问题
这里无论怎么定义总是语法错误,为什么
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 数组 定义 语法错误 
2019-06-17 10:47
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:8 
不要贴图,要贴文字代码

uchar k[3] = { bai, shi, ge }; 是合乎语法的
k[3] = { bai, shi, ge }; 就在扯蛋了,首先 k[3] 是不存在的,
假设你想写的是 k = { bai, shi, ge }; 那也不行,C/C++中语法规定数组不可以赋值

2019-06-17 11:25
我是凯皇
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-6-17
收藏
得分:0 
回复 2楼 rjsp
您好,麻烦再看看。1)我是先定义的uchar k[3],所以后面直接赋值,可是如图那样出现语法错误,您所说的定义一样出现语法错误,而下文所写编译成功。2)还有一个问题,用b计数定时器0溢出次数,无论把b定义成int,uint还是long,都是计数显示到256便重0开始,我不清楚是什么原因,怎么才能把b变成16位二进制数,使他能计数到999,再往上计数到9999之类的该怎么处理。十分感谢!!!
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit we = P2^7;
sbit du = P2^6;
sbit LED1=P1^0;
sbit key_s2=P3^0;
sbit key_s3=P3^1;
sbit key_s4=P3^2;
uchar code leddata[]={
 
                0x3F,  //"0"
                0x06,  //"1"
                0x5B,  //"2"
                0x4F,  //"3"
                0x66,  //"4"
                0x6D,  //"5"
                0x7D,  //"6"
                0x07,  //"7"
                0x7F,  //"8"
                0x6F,  //"9"
                0x77,  //"A"
                0x7C,  //"B"
                0x39,  //"C"
                0x5E,  //"D"
                0x79,  //"E"
                0x71,  //"F"
                0x76,  //"H"
                0x38,  //"L"
                0x37,  //"n"
                0x3E,  //"u"
                0x73,  //"P"
                0x5C,  //"o"
                0x40,  //"-"
                0x00,  //熄灭
                0x00  //自定义
 
                         };

void delay(uint z)
   {
   uint x,y;
   for(x=z;x>0;x--)
   for(y=114;y>0;y--);
   }
void display(uchar i)
      {
      uchar bai,shi,ge,w,e,k[3];
      bai=i/100;
      shi=i%100/10;
      ge=i%10;

      k[0] = bai;
      k[1]=shi;
      k[2]=ge;
  
      for(w=0;w<3;w++)
      {
      P0=0xff;
      e=0xfe;
      we=1;
      P0=_crol_(e,w);
      we=0;

      du=1;
      P0=leddata[k[w]];
      du=0;
      delay(2);
      }
      w=0;
      
      }
void main()
   {
   uchar a;
   uint b;
   TR0=1;
   TMOD=0x61;
   TH0=0x4b;
   TL0=0xfc;
   while(1)
     {
     if(key_s2==0)
     {
        delay(5);
        if(key_s2==0)
        {
         TR0=0;
        }
     }
     if(key_s3==0)
        {
        delay(5);
        if(key_s3==0)
            {
            TR0=1;
            }
        }
     if(TF0==1)
       {
       TH0=0x4b;
       TL0=0xfc;
       TF0=0;
       a++;b++;
       }
     if(a==2)
        {
        a=0;
        LED1=~LED1;
        }
     display(b);
     if(key_s4==0)
     {
     delay(5);
     if(key_s4==0)
        {
        b=0;
        }
     }
     }
   
   
   }


2019-06-17 11:56
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:0 
程序代码:
uchar code leddata[]={ 

 
                0x3F,  //"0"
                0x06,  //"1"
                0x5B,  //"2"

有uchar
k[3] = { bai, shi, ge };

没uchar
是谁给了你 两者相同的错觉

https://zh.
2019-06-17 16:52
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:10 
你那个是错的

k[3]={bai,shi,ge}是给k[3]赋值了,k[3]是数组中的第4个元素,你赋3个值当然错误了

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2019-06-17 17:49
豆豆的滴
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:贵宾
威 望:33
帖 子:368
专家分:1087
注 册:2018-5-7
收藏
得分:2 
感觉需要认认真真看下书
2019-06-17 19:50
快速回复:关于数组定义问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030564 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved