运行异常?
此函数要按行实现单词逆排序,编译和连接正常,但运行时出现异常,帮忙看下,谢谢如:原XX[1]为:ME YOU HE
则输出为:HE YOU ME
void sort()
{
int i,j,strl,k;
for(i=0;i<maxline;i++)
for(j=0;j<strlen(XX[i]);j++)
if(!(XX[i][j]>='a'&&XX[i][j]<='z')||(XX[i][j]>='A'&&XX[i][j]<='Z')||(XX[i][j]>='0'&&XX[i][j]<='9'))
XX[i][j]=' ';
//把串中所有除空格外的分隔符去掉,并用-代替
for(i=0;i<maxline;i++)
{
char ch[80]={0},pp[80]={0};//ch存放当前行,pp暂存一个单词
strl=strlen(XX[i])-1;
int l=1;
while(1)
{
while((XX[i][strl]>='a'&&XX[i][strl]<='z')||(XX[i][strl]>='A'&&XX[i][strl]<='Z')||(XX[i][strl]>='0'&&XX[i][strl]<='9'))
//从行未开始读取字符,如果是字母的话就把字母存放到ch中,直到遇单词结束标记
{
for(k=l;k>0;k--)//把暂时存的不完整单词后移一位,第一位接收此串的最后一字符
pp[k]=pp[k-1];
pp[0]=XX[i][strl];
l++;strl--;
}
strcat(ch,pp);//把单词存入ch中
strcpy(pp,"");
l=1;//pp清空,即当前单词长度为1,'\0'
if(strl==-1)break;
while(!(XX[i][strl]>='a'&&XX[i][strl]<='z')||(XX[i][strl]>='A'&&XX[i][strl]<='Z')||(XX[i][strl]>='0'&&XX[i][strl]<='9'))
{//处理空格,方法同单词处理一样
for(k=l;k>0;k--)
pp[k]=pp[k-1];
pp[0]=XX[i][strl];
l++;strl--;
}
strcat(ch,pp);
strcpy(pp,"");
l=1;
if(strl==-1)break;
}
strcpy(XX[i],ch);
}
}
----------------解决方案--------------------------------------------------------
饿 就是把字符串反过来输出 有这么麻烦么 ?? 还上我理解错了
----------------解决方案--------------------------------------------------------
恩,就交换
期待你的高见哦!
----------------解决方案--------------------------------------------------------
帮忙看看这写的这个为什么会运行不正常
谢谢
----------------解决方案--------------------------------------------------------
掉线 没法子 和你说下思路把 你看可行不 我门先找出第1个单词 找出地2个单词异词类推 用数组分别接收 对数组之间从收地址开始进行调换 空格也依次形式 你的代码 看的我犯迷糊
----------------解决方案--------------------------------------------------------
期待高手有更好的方法...........总觉得我的方法没啥效率
----------------解决方案--------------------------------------------------------
这是个国家三级计算机考试上的一个题,帮忙看下,我这样编为什么会出现运行异常呢。
----------------解决方案--------------------------------------------------------
怎么没人顶呢,我自已来
哈哈,最前去!让高手们看去!
----------------解决方案--------------------------------------------------------
这个嘛~ 如果你学过栈的话用栈是最好的了~~ 因为是先进后出嘛,你自己想想可不可以理解~~ 把每个字符都PUSH到栈里,然后再POP出来~ 试试吧~ 加油哦~
----------------解决方案--------------------------------------------------------
:-(
不懂呢,没学过
就我最上的那程序有误,错在哪呢?
----------------解决方案--------------------------------------------------------