一段短小程序求解

[复制链接]
1904|5
 楼主| hjs1618 发表于 2013-1-30 08:32 | 显示全部楼层 |阅读模式
写以下程序的目的是:将分别将tx1[],tx2[]中的内容搬到lcdbuf前16内存中与后16内存中。
uchar i,j;
const uchar tx1[]={"1234567812345678"},tx2[]={"abcdefgh12345678"};
uchar *lcdbuf;
for(i=0;i<2;i++)
  {
   for(j=0;j<16;j++)
   {
    if(i==0)
    *(lcdbuf++) = tx1[j];
    else
    *(lcdbuf++) = tx2[j];
   }
  }

请大神指点下,这程序有什么不对的地方。

SLEET1986 发表于 2013-1-30 08:34 | 显示全部楼层
lcdbuf没指向什么地址吗?
aswee25 发表于 2013-1-30 09:24 | 显示全部楼层
这个好难懂额
gdxizhilang 发表于 2013-1-30 10:22 | 显示全部楼层
uchar *lcdbuf;
你定义一个指针,它是用来放地址的,如数组首地址,但你又没有初始化,指针指向一个未知数;
而你又直接  *(lcdbuf++) = tx1[j];
又把数组的值直接赋给一个未知数,怎么可能行?
jlass 发表于 2013-1-30 15:27 | 显示全部楼层
*(lcdbuf++) = tx1[j];

问题肯定出在这句上,自己看几遍书再调调就行了。
21ID 发表于 2013-2-5 16:13 | 显示全部楼层
指针没有初始化就赋值,这是C语言中很大的忌讳啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:单片机学习交流群:19131564  欢迎加入

13

主题

515

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部