为啥输不出来结果来,该如何处理
为啥输不出来结果来
这个小程序就是去除连续相同字符 就是输不出结果来
#include <iostream.h>
char * delsame(char *str)
{
int k=0;char temp[10];
for(char *p=str;p!= '\0 ';p++)
{
if(k==0) temp[k++]=*p;
else if(temp[k-1]!=*p) temp[k++]=*p;
}
temp[k]= '\0 ';
for(int i=0;i <=k;i++)
str[i]=temp[i];
return str;
}
void main()
{
char a[10]= "abcddef ";
cout < <delsame(a);
}
------解决方案--------------------
for(char *p=str;p!= '\0 ';p++)
==============================
这里死循环了。// for(char *p=str;*p!= '\0 ';p++)
还有temp怎么能固定大小呢,很容易就越界了。
这个小程序就是去除连续相同字符 就是输不出结果来
#include <iostream.h>
char * delsame(char *str)
{
int k=0;char temp[10];
for(char *p=str;p!= '\0 ';p++)
{
if(k==0) temp[k++]=*p;
else if(temp[k-1]!=*p) temp[k++]=*p;
}
temp[k]= '\0 ';
for(int i=0;i <=k;i++)
str[i]=temp[i];
return str;
}
void main()
{
char a[10]= "abcddef ";
cout < <delsame(a);
}
------解决方案--------------------
for(char *p=str;p!= '\0 ';p++)
==============================
这里死循环了。// for(char *p=str;*p!= '\0 ';p++)
还有temp怎么能固定大小呢,很容易就越界了。