首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

大家好,看一个字符串删除的有关问题

2012-02-14 
大家好,看一个字符串删除的问题main(){char*delstring(chara[],inti,intj)chars[50]scanf( %s ,s)del

大家好,看一个字符串删除的问题
main()
{   char   *delstring(char   a[],int   i,int   j);
char   s[50];
scanf( "%s ",s);
delstring(s,1,2);
printf( "%s ",s);
}
char   *delstring(char   a[],int   i,int   j)
{
char   *p=a+i-1;
char   *q=a+i+j-1;
if(*q!= '\n ')
{*p++=*q++;}
*p= '\n ';
return   a;
}


输入:abcdefg
输出:c
          cdefg

这是为什么呢?请高手指点!

[解决办法]
小改一下可以基本满足你的要求
#include <stdio.h>
#include <stdlib.h>

void main()
{
char *delstring(char a[], int i, int j);
char s[50];
scanf( "%s ", s);
delstring(s, 2, 2);
printf( "%s ",s);
}

char *delstring(char a[], int i, int j)
{
char *p = a+i-1;
char *q = a+i+j-1;
while(*q != '\0 ')
*p++ = *q++;

*p= '\0 ';
return a;
}

热点排行