关于指针覆盖前移
写了一个代码,把2个字符串数组做比较,把重复的去掉,用指针前移和覆盖的方法,可是输出却是乱码,请问这是什么原因呢?
程序代码:#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
char *p,*q,*str[10];
str[0]="我是字符串";
str[2]="字符";
p=str[0];
q=str[2];
while(*p++==*q) //判断第一个字符串数组里的元素是否等于第二个字符串数组里的元素
{
*p=*p++; //覆盖
p--; //指针前移
q++; //第二个字符串数组指针后移,下次判断
}
str[2]=p;
printf("%s\n",str[2]);
system("pause");
}
[ 本帖最后由 yudeyinji198 于 2012-12-18 10:13 编辑 ]









