#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void func(char *p,int length)
{
//char *s;
//p = s;
//q = s;
//s = (char*)malloc(length*sizeof(char*));
//memcpy(s,p,length*sizeof(char*));
int i = 1;
while(*p!='\0')
{
if(*p==*(p + 1))
{
i++;
p++;
}
else
{
printf("%c",*p);
printf("%d",i);
p++;
//p = q;
i = 1;
}
}
printf("\n");
}
void main()
{
int length;
char s[] = "AABBBCDD";
length = strlen(s);
func(s,length);
}
在编程时遇到了一个问题,就是指针之间的复制,一开始是把两个指针直接用 = 进行复制,编译错误,还没有找出来方法。
程序运行结果: