| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 400 人关注过本帖
标题:cstring 问题
只看楼主 加入收藏
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
结帖率:96.25%
收藏
已结贴  问题点数:20 回复次数:6 
cstring 问题
CString COrder5(CString c,int y)//y是CString c的长度.
{
    int x;   
    for (x=0;x<y;x++)
    {
        if ((c[x])>(c[x+1]))  //是不是从大到小排好序的;
            continue;
        else break;
    }
    if (x==y)
        return c;

}
弹出内存不能读,内存不能写,这是为什么?
2012-11-27 23:25
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:5 
没用过。。。不懂。。。

有心者,千方百计;无心者,千难万难。
2012-11-27 23:34
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:0 
好像这个x==y是不对的吧。。。。。。。。

有心者,千方百计;无心者,千难万难。
2012-11-27 23:35
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:0 
x是循环了多少次,y是长度,循环跑完刚好x==y,那c[x+1]在最后一次可能会访问到未知的地方,但问题好像不是那里。
2012-11-28 01:02
linan03
Rank: 4
等 级:业余侠客
威 望:5
帖 子:76
专家分:204
注 册:2012-10-27
收藏
得分:5 
回复 楼主 mfkblue

是函数没有返回值的问题吧。

根据你写的代码,比如cstring 长度为6 ,x从0开始,c[0]和c[1]比较,如果c[0]<c[1]的话,岂不是直接跳出循环,那么x永远也不会等于y了,这个函数就没有返回值了吧。


2012-11-28 06:55
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:0 
我还没写完这个函数,后面会处理这个问题,就算直接返回c一样弹内存不能读,内存不能写.
2012-11-28 19:10
a635958000
Rank: 4
等 级:业余侠客
帖 子:55
专家分:253
注 册:2012-10-26
收藏
得分:10 
for (x=0;x<y;x++)
循环中x<y-1才对啊
2012-11-29 09:37
快速回复:cstring 问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012280 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved