1.题目
2.答案:
在中间空白处补充以下代码
while(*p)/*或while(*p!=0)*/
{
*q=*p;
p++;
q++;
}
3.解析
#include <stdio.h>
void fun( char *a )/*指针a指向字符串*/
{
/* 以下代码仅供参考 */
char *p,*q;
int n=0;
p=a;/*p指向a所指的字符串*/
while(*p=='*') /* 统计串头'*'个数n */
{n++; p++;}/*指针p向后移动最终移到*之后*/
q=a;/*q指向a所指的字符串*/
/* 向前复制字符串,请填写相应的语句完成其功能 */
while(*p)
{
*q=*p;
p++;
q++;
}/**p逐个往前移动,循环结束后各指针指向如图片左下角所示*/
for(;n>0;n--) /* 在串尾补n个'*' */
*q++='*';
*q='\0';
}/*将最后剩余的未移动部分用*覆盖*/
main()
{ char s[81]; int n=0; void NONO ();
printf("Enter a string:\n");gets(s);
fun( s );
printf("The string after moveing:\n");puts(s);
NONO();
getchar();
}