问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言-删除字符串中的字符。

发布网友 发布时间:2022-04-23 19:58

我来回答

5个回答

热心网友 时间:2022-04-17 16:15

c语言中书写删除字符串中某个字符的程序的具体操作步骤如下:

1、编写头函数,包括“#include <stdio.h>.”与“#include <string.h>.“。

2、定义两个相同容量的字符串储存的变量 char a【100】;  char b【100】。以及整数变量 int c;int i=0,j=0;其中a[100]是存字符串的,b【100】是存你删除对应字符的字符串的,整数C是想删除第几位。j ,i 是后面for循坏中要使用到的变量。

3、编写printf(“请输入你的字符串”);scanf(“%s”,a);printf(“请输入你想要删除第几位字符”);scanf(“%d”,&c)。

这几行代码主要是显示界面,以及具体想要删除什么字符串以及具体删除第几位字符使用的。

4、继续编写for(i=0;i<strlen(a);i++) ( if(i+1!=c){  b【j】=a【i】; j++;)(         printf(" %s",b);)。

这几行代码逻辑语句是:只要当i+1不等于c时把a【i】里面的字符赋给b【i】,那么这样当i+1=c时不把它赋给b【i】从而实现删除功能。

5、程序编辑完毕,可以进行删除字符了。

热心网友 时间:2022-04-17 17:33

在你的delchar()函数里面,进行覆盖那里应该改成 *p = *(p+1) 如果是*p = *p + 1结果是 先取出 p指向的内存中的字符,然后该字符加1之后再赋值给p所指向的内存。 列入 *p = a; 那*p = *p +1 结果是 *p = b; 而*p = *(p + 1) 是p指针先指向p前面的一个内存单元,再用*取出该内存单元的值,然后赋值给 p 所指向的内存单元 *p追问改了之后结果 是这个 为什么后面会重复为sdd 而不是 sd?
我知道了 for(p=s;p<=s+i;p++) //这里改为<=
{
if(*p==c)
{
q=p;
for(i--;p<=s+i;p++) //这里改为<=
*p=*p+1;
p=q--;
}
}
这样结果就对了 要不然 没有把‘\0’覆盖

热心网友 时间:2022-04-17 19:08

我用数组给你写了个新的
#include<stdio.h>
#include<string.h>
int main (void)
{
void delchar(char s[], char c);
char str[100];

char c;
int i=0;
printf("Input a string:");
// while((str[i]=getchar())!='\n')
// i++;
// str[i]='\0';
gets(str);
printf("Input a char:");
scanf("%c",&c);
delchar(str,c);
printf("After deleted,the string is:");
printf("%s",str);

return 0;
}

void delchar(char s[], char c)
{
int length=strlen(s);

for (int i = 0; i < length; ++i)
{
if (s[i] == c)
{
for (int j = i; j < length; ++j)
{
s[j]= s[j+1];
}
}
}
}

热心网友 时间:2022-04-17 20:59

#include <stdio.h>
#include <string.h>
void delchar(char *p,char ch)
{
char *pch;
while (*p!='\0')
{
if (*p==ch) //相同时
{
for (pch=p;*pch!='\0';pch++) //字符前移
*pch=*(pch+1);
}
p++;
}
}
void main()
{
char a[100];
char ch;
printf("请输入字符串:");
gets(a);
printf("请输入你要删除的字符:");
scanf("%c",&ch);
delchar(a,ch);
printf("删除字符后的字符串:%s\n",a);
}

热心网友 时间:2022-04-17 23:07

int i=strlen(s);
for(p=s;p<s+i;p++)
{
if(*p==c)
{
q=p;
for(i--;p<s+i;p++) //进行覆盖
*p=*p+1;
p=q--;
}
}
中*p=*(p+1);。
C语言-删除字符串中的字符。

c语言中书写删除字符串中某个字符的程序的具体操作步骤如下:1、编写头函数,包括“#include &lt;stdio.h&gt;.”与“#include &lt;string.h&gt;.“。2、定义两个相同容量的字符串储存的变量 char a【100】; char b【100】。以及整数变量 int c;int i=0,j=0;其中a[100]是存字符串的,b【100】是...

c语言删除字符串中的字符。

一、问题描述:从键盘输入一个字符串给str和一个字符给c,删除str中的所有字符c并输出删除后的字符串str。1、输入:第一行是一个字符串; 第二行是一个字符。2、输出:删除指定字符后的字符串。二、设计思路:1、 同插入问题,定义两个字符数组a,b。以及标志删除位置的int型pos。2、用gets函数...

C语言如何实现删除字符串中的字符

s++;s = 0; //将这个字符置为结束符 return s1;};

C语言,利用指针编写程序:删除一个字符串中的某一个字符

1、其实头函数每个都需要用到的就是#include &lt;stdio.h&gt;,因为程序里面涉及到了输出和输入字符串以及字符。#include &lt;string.h&gt;。2、其次就是要定义两个相同容量的字符串储存的变量 char a[100]; char b[100];。以及整数变量 int c; int i=0,j=0; 其中a[100]是存字符串的,b【100】是...

C语言删除字符串中指定字符的方法有哪些?

在C语言中,删除字符串中所有指定字符的方法有以下几种:1. 基本方法是定义一个函数 `deleteChar`,该函数需要两个参数:字符串 `str` 和要删除的字符 `c`。通过遍历字符串中的每个字符,当遇到与 `c` 相匹配的字符时,执行删除操作。以下是该方法的实现代码:```c void deleteChar(char *str,...

C语言 删除字符串中的指定字符'*',要求用指针,谢谢~

intmain(){ charstr[100];char*p,*q;charc;gets(str);c=getchar();for(p=str,q=str;*p!='\0';p++)//用指针*p去提取str中每一个元素,用指针*q去删除str中需要删除的元素 if(*p!=c)*(q++)=*p;*q=*p;puts(str);return0;} ...

用C语言在字符串中删除指定的字符。

include "stdio.h"include &lt;string.h&gt; int main(){ char a[50],ch;int i,j;printf("输入字符串:");scanf("%s",a);fflush(stdin);printf("输入要删的字符:");scanf("%c",&amp;ch);for(i=0,j=0;i&lt;strlen(a);i++)if(a[i]!=ch)a[j++]=a[i];a[j]='\0';puts(a);retur...

C语言编程:在一个指定的 字符串中删除指定的 字符,并输出该字符串。

include &lt;string.h&gt; int main(int argc, char **argv){ int num = 0;for (int i = 0; i &lt;= strlen(argv[1]); i++)if (argv[1][i] != argv[2][0]){ argv[1][num] = (i == strlen(argv[1])) ? '\0' : argv[1][i];num++;} printf("%s\n", argv[1]);retu...

(C语言)怎样删除一个字符串中的一个字符? 如ABC删除B后为AB

h&gt; void main(){ int i=0, j = 0;char ch, str[100];printf("请输入字符串:\n");gets(str);printf("请输入要删除的字符:\n");scanf("%c",&amp;ch);while(str[j]!=0){ if(str[j]!=ch){ str[i]=str[j];i++;} j++;} str[i]=0;printf("%s\n",str);} ...

用c语言编写程序删除字符串中间的'*'号

i=fun(str,i-1); /*自定义的函数,负责删除'*'*/ printf("%s\n",str+i);/*从第i位(即第一个不是'*'的那一位)开始显示*/ } int fun(char *str,int j){ int i,f1=0,f2=0; /*f1与f2是标志变量,当他俩都为1时,则以删除完了*/ for(i=0;i!=j&amp;&amp;f1*f2==0;){ if...

C语言在字符串中删除重复的字符 C语言使用函数删除字符串中的字符 c语言字符串1中删除字符串2 C语言从字符串中删除字符 C语言从字符串里面删除特定字符 编程删除字符串中的指定字符 在字符串中删除特定的字符 使用函数删除字符串中的字符 C语言字符串中间插一个字符
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
心电图运动负荷试验运动负荷量的确定 和平精英极寒模式攻略 极寒模式规则详解-手游资讯-安族网 和平精英极寒模式怎么玩 快速上分熬过暴风雪方法 四年级下册白桦课文主要内容白桦这篇课文的主要内容 白桦丛作者作品 和平精英冰寒模式怎么玩 白桦是苏联著名诗人叶赛宁的抒情诗对吗 重庆千青生态农业有限公司怎么样? 玉米秸秆怎么制作成可贮藏的饲料 千青爱草仙龙园地址在哪里? 建筑内部装修如何判断防火涂料涂刷质量是否达到要求 钢结构耐火级限2小时,防火涂料涂刷厚度是多少 阻燃胶合板在吊顶使用过程中,用不用刷防火涂料,国家规范是什么 装修中木结构必须要刷防火涂料吗? 消防配管刷防火涂料的要求 国家标防火涂料刷几片 C语言“在字符串中删除指定的字符”?怎么编写程序 按照规范要求,装修用细木工板需要双面刷防火涂料吗?需要刷几遍? 防火涂料厚度规范是怎样的呢 家居扫盲:防火涂料施工要求与注意事项 饰面型防火涂料如何涂刷才好 防火涂料按标准应该涂几层,有多厚 防火等级为二级,耐火极限为1.5h,涂刷超薄型防火涂料需要涂刷多厚?请给出规范要求。 防火涂料验收规范 如何? 如何规范饰面型防火涂料的涂刷 我国芳香性中药的植物有多少种? 用作装修防火的防火涂料需要符合哪些规定 防火涂料标准规范有哪些 电脑录歌时耳机噪音太大如何解决? 香草 芳香植物有多少种 办公室装修安全施工规范是啥? 哪家期货公司平台交易的手续费保证金低? 编写fun()函数,要求从字符串中删除指定的字符,这是C语言 国内商品期货手续费一览表2019年度哪个平台可以查询到? 国际期货哪个平台手续费低,开户容易点? 有哪些平台可以同时买卖港股、美股、期货?手续费 哪家便宜? 银河期货的手续费高不高? 哪个期货平台手续费比较低 哪些期货平台做德指的保证金和手续费比较低 现在的千兆光猫都自带路由功能,是否就不需要路由器了? 自带路由的光猫可以另外接路由器吗? 市面上的光猫有自带路由器的功能吗? 电信 宽带 自带路由器 怎么设置 电信光猫自带的路由器怎么使用? 联通宽带自带的路由器怎么弄? 光猫自带路由器功能,怎么在连接一个路由器 联通光猫自带路由器如何设置 如何设置电信猫自带的路由? 联通宽带自带的路由器怎么弄啊??? 如何破解电信光猫,用上光猫自带的路由功能?