keilc51二维数组 10

各位大侠,我在变程序时发现自己的Keil不能引用二维数组,请哪位大侠指点迷津。程序如下:#include<reg51.h>#include<lcd12864.h>#inc... 各位大侠,我在变程序时发现自己的Keil不能引用二维数组,请哪位大侠指点迷津。程序如下:
#include <reg51.h>
#include <lcd12864.h>
#include <24c02.h>
#define uchar unsigned char
uchar stam[4][8{{0,1,2,3,4,5,6,7},
{8,9,10,11,12,13,14,15},
{16,17,18,19,20,21,22,23},
{24,25,26,27,28,29,30,31}};
main()
{ uchar i,j;
P0=0;
delayms(1000);
lcd_init();
lcd_pos(1,0);
for(i=0;i<4;i++)
for(j=0;j<8;j++)
lcd_wdat(48+stam[i][j]);
}
其中lcd_wdat()是封装在头文件里的函数,其功能为将字符的ASCII码输入函数则该字符在显示屏12864上显示。
该程序在运行后在预先应该输出字符的地方却输出的都是‘/’,该字符的ASCII码是47,也就是说从数组当中读出的都是-1。
但吧使stam[i][i]改为8*i+j则又输出正常了。
轻微大侠们到底问题出在哪里?是不是KEIL本身的问题,因为我自认为这个程序本身是,没错的。谢谢!!
展开
 我来答
百度网友b87df9823
推荐于2018-05-08 · TA获得超过120个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:98.9万
展开全部
是源码吗?
这个好像有点问题:
uchar stam[4][8{{0,1,2,3,4,5,6,7},
{8,9,10,11,12,13,14,15},
{16,17,18,19,20,21,22,23},
{24,25,26,27,28,29,30,31}};

是否应该改为:
uchar stam[4][8]={{0,1,2,3,4,5,6,7},
{8,9,10,11,12,13,14,15},
{16,17,18,19,20,21,22,23},
{24,25,26,27,28,29,30,31}};
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式