搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ cstring 问题
标题:
cstring 问题
只看楼主
mfkblue
等 级:
职业侠客
帖 子: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
等 级:
贵宾
威 望:
11
帖 子:441
专家分:1882
注 册:2011-6-28
第
2
楼
得分:5
没用过。。。不懂。。。
有心者,千方百计;无心者,千难万难。
2012-11-27 23:34
w527705090
等 级:
贵宾
威 望:
11
帖 子:441
专家分:1882
注 册:2011-6-28
第
3
楼
得分:0
好像这个x==y是不对的吧。。。。。。。。
有心者,千方百计;无心者,千难万难。
2012-11-27 23:35
mfkblue
等 级:
职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
第
4
楼
得分:0
x是循环了多少次,y是长度,循环跑完刚好x==y,那c[x+1]在最后一次可能会访问到未知的地方,但问题好像不是那里。
2012-11-28 01:02
linan03
等 级:
业余侠客
威 望:
5
帖 子:76
专家分:204
注 册:2012-10-27
第
5
楼
得分:5
回复 楼主 mfkblue
是函数没有返回值的问题吧。
根据你写的代码,比如cstring 长度为6 ,x从0开始,c[0]和c[1]比较,如果c[0]<c[1]的话,岂不是直接跳出循环,那么x永远也不会等于y了,这个函数就没有返回值了吧。
2012-11-28 06:55
mfkblue
等 级:
职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
第
6
楼
得分:0
我还没写完这个函数,后面会处理这个问题,就算直接返回c一样弹内存不能读,内存不能写.
2012-11-28 19:10
a635958000
等 级:
业余侠客
帖 子:55
专家分:253
注 册:2012-10-26
第
7
楼
得分:10
for (x=0;x<y;x++)
循环中x<y-1才对啊
2012-11-29 09:37
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-388781-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.199569 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved