[求助]指针移位问题
题目:在字符串上查找ASCII码值最大的字符,将其放在第一个位置上,并且将这个字符前的原字符往后顺序移动.例如,原字符串是chyaab,经过处理后变成ychaab.#include<stdio.h>
void change(char *point);
int main()
{
char str[80];
char *p;
p=str;
printf("请输入一个字答串:\n");
gets(p);
change(p);
printf("转换后的字答串是:\n");
puts(p);
}
void change(char *point)
{
char *q=NULL,*old;
char max;
old=point;
max=*point;
while(*point!='\0')
{
if(max<*point)
{
max=*point;
q=point;
}
point++
}
while(q>old)
{
*q=*(q-1);
q--;
}
*old=max;
printf("\n字符串中最大的字符是:%c\n",max);
}
问题:把*q=*(q-1)改成q=q-1,我想把它的指向改了不就是移了位吗?