字符串指针a指向的是常量,无法修改赋值。
创新互联公司专注于企业营销型网站建设、网站重做改版、广饶网站定制设计、自适应品牌网站建设、H5建站、购物商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为广饶等各大城市提供网站开发制作服务。
改一下定义即可。
main()
{
char a[]="abc123",*b="bc";//a[]
void delestr(char *a,char *b);
delestr(a,b);
}
字符串其实是一个数组。你把后面的abcd依次移到****位置上。然后让字符串结束就好了。
符串或串(string)是由零个或多个字符组成的有限序列。一般记为
s='a1a2???an'(n=0)。它是编程语言中表示文本的数据类型。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
[编辑本段]字符串函数
1.
连接运算
concat(s1,s2,s3…sn)
相当于s1+s2+s3+…+sn.
例:concat(‘11’,'aa’)='11aa’;
2.
求子串。
copy(s,i,l)
从字符串s中截取第i个字符开始后的长度为l的子串。
例:copy(‘abdag’,2,3)=’bda’
3.
删除子串。过程
delete(s,i,l)
从字符串s中删除第i个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’
4.
插入子串。
过程insert(s1,s2,i)
把s1插入到s2的第i个位置
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’
5.
求字符串长度
length(s)
例:length(‘12abc’)=5
在asp中
求字符串长度用
len(s)例:
len("abc12")=5
6.
搜索子串的位置
pos(s1,s2)
如果s1是s2的子串
,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.
例:pos(‘ab’,’12abcd’)=3
7.
字符的大写转换。upcase(ch)
求字符ch的大写体。
例:upcase(‘a’)=’a’
8.
数值转换为数串。
过程
str(x,s)
把数值x化为数串s.
例:str(12345,s);
结果s=’12345’
9.
数串转换为数值。
过程val(s,x,i)
把数串s转化为数值x,如果成功则i=0,不成功则i为无效字符的序数
例:val(‘1234’,x,i);结果
x:=1234
用函数strstr找到子串的首地址,用strlen获得子串的长度,首地址加子串的长度就可以定位这个子串在母串中的地址长度了,然后就去掉!
#includestring.h
#includestdio.h
int main(){
char str[200];
char str_d[200];
char tmp[200];
int i, len_str, len_str_d;
fgets(str, sizeof(str), stdin);
fgets(str_d, sizeof(str_d), stdin);
len_str = strlen(str) - 1;
str[len_str] = 0;
len_str_d = strlen(str_d) - 1;
str_d[len_str_d] = 0;
i = 0;
while(str[i] != 0){
if(str[i] == str_d[0]){
strncpy(tmp, str+i, len_str_d);
tmp[len_str_d] = 0;
if(!strcmp(tmp, str_d)){
str[i] = 0;
strcat(str, str + i + len_str_d);
i = 0;
continue;
}
}
++i;
}
printf("%s\n", str);
return 0;
}