指针与字符串,求大佬解答
/*****输入一段字符串,删除重复的字符,只保留一个,统计删除个数*****/#include "stdio.h"
void main ()
{
char a;
char *p,*q;
int del_count=0;
p=q=a;
gets(p);
while (*p!='\0')
{
if(*p==*(p+1))//相邻字符串比较,若不相等条件为真
{
del_count++; //统计删除字符的个数
}
else
{
*(q++)=*p;
}
p++;
}
*q='\0';
puts(a);//这里改成puts(q);为什么就出错了,q不是指向a吗,求大佬解答。
printf("\n is:%d",del_count);
} q是指针,它始终在移动 wp231957 发表于 2021-8-15 22:51
q是指针,它始终在移动
懂了懂了,此时q已经移动到了数组结尾,
在q=a 一下就好了
页:
[1]