打印

一段短小程序求解

[复制链接]
1368|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];
又把数组的值直接赋给一个未知数,怎么可能行?

使用特权

评论回复
5
jlass| | 2013-1-30 15:27 | 只看该作者
*(lcdbuf++) = tx1[j];

问题肯定出在这句上,自己看几遍书再调调就行了。

使用特权

评论回复
6
21ID| | 2013-2-5 16:13 | 只看该作者
指针没有初始化就赋值,这是C语言中很大的忌讳啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

13

主题

515

帖子

1

粉丝