C语言 指针问题 ,空间分配问题,地址问题
voiddelspace(char*p1){char*p2;while(*p1!='\0'){if(*p1==''){p2=p1;while(*p2!='\0'){*p2...
void delspace(char *p1)
{
char *p2;
while (*p1 != '\0' )
{
if (*p1 == ' ')
{
p2 = p1;
while(*p2 != '\0')
{
*p2 = *(p2+1);
p2++;
}
p1--; //抵消下面的p1++
}
p1++;
}
}
这个函数去除字符串中的空格,为什么char *p2; 不给它分配空间。
void reverse(char *str)
{
int i = strlen(str);
int k = 0;
char *temp;
while(i-1-2*k >0)
{
*temp = *(str+k);
*(str + k) = *(str + i - 1 - k);
*(str + i - 1 - k) = *temp;
k++;
}
}
反序字符串的函数,temp 就一定要分配空间,不然会出错。 展开
{
char *p2;
while (*p1 != '\0' )
{
if (*p1 == ' ')
{
p2 = p1;
while(*p2 != '\0')
{
*p2 = *(p2+1);
p2++;
}
p1--; //抵消下面的p1++
}
p1++;
}
}
这个函数去除字符串中的空格,为什么char *p2; 不给它分配空间。
void reverse(char *str)
{
int i = strlen(str);
int k = 0;
char *temp;
while(i-1-2*k >0)
{
*temp = *(str+k);
*(str + k) = *(str + i - 1 - k);
*(str + i - 1 - k) = *temp;
k++;
}
}
反序字符串的函数,temp 就一定要分配空间,不然会出错。 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询