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、程序编辑完毕,可以进行删除字符了。
①目标
要删除字符串中的所有空格,
就要筛选出空格字符。
要筛选,就要对首字符做标记。
要所有空格,就要遍历。
~
②命令行
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
~
③定义函数
void fun(char *str)
{int i=0
char *p
/*标记:p=str表示指针指向字符串首地址做标记*/
for(p=str*p!='\0'p++)
/*遍历:不等于'\0'表示只要字符串不结束,就一直p++。*/
if(*p!=' ')str[i++]=*p
/*删除:如果字符串不等于空格,即有内容就存入字符串。等于空格就不储存,但是指针还是p++继续后移,跳过储存空格相当于删除。*/
}
void fun(char *str)
{int i=0
char *p=str
while(*p)
{if(*p!=' ')str[i++]=*p
p++}
/*除了for循环遍历,也可while循环遍历。注意 p++在if语句后,不然会漏掉第一个字符。*/
str[i]='\0'
/*循环完毕要主动添加'\0'结束字符串。*/
~
④主函数
viod main()
{char str[100]
int n
printf("input a string:")
get(str)
puts(str)
/*输入输出原字符串*/
fun(str)
/*利用fun函数删除空格*/
printf("str:%s\n",str)