打印

字符小写转大写运算时出现取数异常?

[复制链接]
1474|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
S3C2440|  楼主 | 2010-1-17 18:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的是ZLG 的样例程序,为什么我用时出错?请高手解答,谢谢!
我的系统为LPC2294  SST39VF1601   IS61LV25616AL  编译器为:ADS V1.2
DebugInChipFlash模式

char *strupr(char *Str)
{
    char *cp;
    cp = Str;
    while (*cp != 0)
    {
        if (*cp >= 'a' && *cp <= 'z' )
        {
            *cp -='a' - 'A';//运行这条语句时出现 ;取数据中止 DataAbort,为什么?
        }
        cp++;
    }
    return Str;   
}

相关帖子

沙发
LPC300| | 2010-1-17 18:09 | 只看该作者
调试时发现 主程序调用时不出现上述问题,在其他子程序里调用时,只要*cp 是被赋值(值被改变),就会出现取数中止,不知为何原因?

使用特权

评论回复
板凳
无语凝咽| | 2010-1-17 18:12 | 只看该作者
可以把main函数部分发过来瞧一下,把编译器优化选项关了吧!

使用特权

评论回复
地板
S3C2440|  楼主 | 2010-2-24 14:25 | 只看该作者
已经得到解决,希望大家不要犯类似错误

使用特权

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

本版积分规则

95

主题

400

帖子

1

粉丝