填空题
给定程序中函数fun的功能是:在P所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。
例如,调用fun函数之前给字符串输入:GABCDeFGH,调用后字符串中的内容为:eGABCDFGH。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
给定源程序:
#include<stdio.h>
void fun(char*p)
{char max,*q;int i=0;
max=p[i];
q=p;
while(p[i]!=0)
{if(max<p[i])
{max=p[i];
/*********found*********/
q=p+i
}
i++;
}
/*********found*********/
wihle(q>p)
{*q=*(q-1);
q--;
}
p[0]=max;
}
main()
{char str[80];
printf("Enter a string:");gets(str);
printf("/nThe original string: ");puts(str);
fun(str);
printf("/nThe string after moving:");puts(str);
printf("/n/n");
}