删除所输入字符串中所有的"*"
下面的程序先输入一个字符串,然后输入要删除的字符,可以是'*',运行结果,字符串内的'*'都会被删除。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void delete_character(char *temp,char ch);
int main()
{
char str[100];
int i;
//int length;
char delete_ch;
printf("please input a string:\n");
str[0]=getchar();
i=0;
while(str[i]!='\n')
{
i++;
str[i]=getchar();
}
str[i]='\0';
printf("please input a character to delete:\n");
delete_ch=getchar();
printf("before delete:%s\n",str);
delete_character(str,delete_ch);
printf("after delete:%s\n",str);
//length=strlen(str);
//printf("the length is:%d\n",length);
return 0;
}
void delete_character(char *temp,char ch)
{
int i;
char *head=temp;
for(i=0;*temp;temp++)
{
if(*temp!=ch)
{
*(head+i)=*temp;
i++;
}
}
*(head+i)='\0';
}
扩展资料:
简介
字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。
两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
参考资料来源:百度百科-字符串
下面的程序先输入一个字符串,然后输入要删除的字符,可以是'*',最后输出结果
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void delete_character(char *temp,char ch);
int main()
{
char str[100];
int i;
//int length;
char delete_ch;
printf("please input a string:\n");
str[0]=getchar();
i=0;
while(str[i]!='\n')
{
i++;
str[i]=getchar();
}
str[i]='\0';
printf("please input a character to delete:\n");
delete_ch=getchar();
printf("before delete:%s\n",str);
delete_character(str,delete_ch);
printf("after delete:%s\n",str);
//length=strlen(str);
//printf("the length is:%d\n",length);
return 0;
}
void delete_character(char *temp,char ch)
{
int i;
char *head=temp;
for(i=0;*temp;temp++)
{
if(*temp!=ch)
{
*(head+i)=*temp;
i++;
}
}
*(head+i)='\0';
}
上面的截图是运行结果,可以看到字符串内的'*'都被删除了。