代码输出“烫烫烫。。。”

来源:互联网 发布:学车网络招生平台 编辑:程序博客网 时间:2024/06/06 03:41

第一次开始写文章,留个标记纪念一下。


      今天来加班,是为了写一个手持机程序项目。昨晚上,我已经把显示部分代码写好了,今天一来编译一下修改错误。然后,下载到手持机。开机运行。OO,我得手持机挂了。

题外话:广州朗特数码公司的M73E手持机,我不得不批评一下,BUG真多;我问了同事,手持机应该得返厂维修。

     我很奇怪啊。机器显示“内存被破坏”。当时我是如此烦躁不安。

     我把我写的代码修改了一下,让它在PC机上运行,通过VC6.0发现也是会出问题的,显示了很多“烫烫烫”,然后才是我要输出的几个字符。百度一下,出现如此问题有两种情况:1.局部字符串未初始化,2.数组溢出了。PC上调试,单步运行,果真出现了,我的得局部字符数组没有初始化。


贴出代码:

static  void        Display(uint16 u16ID)//  显示到屏幕上
{
    uint8 u8Loop;
    char    cDisplay[MAX_COLUMN_LENGTH + 1] = {0};

    //char    cDisplay[MAX_COLUMN_LENGTH + 1] ;     //错误版本,导致我的手持机啊 挂了。进度延后。
    uint16  u16DisplayID;

    for (u8Loop = 0; u8Loop < ITEM_PER_PAGE; u8Loop++)

    {
       .......
        printf("%s\n",cDisplay);
    }

}