问题
现在有一串字符需要输入,规定输入的字符串中只包含字母和*号。请编写程序,实现以下功能:除了字符串前后的*号之外,将串中其他的*号全部删除。 例如,假设输入的字符串为****A*BC*DEF*G********,删除串中的*号后,字符串变为****ABDEFG********
问题描述该问题需要对字符串进行操作,而在C语言中没有专门的字符串变量,因此如果需要将一个字符串存放在变量中,则必须使用字符数组,即使用一个字符型数组来存放一个字符串,数组中的每一个元素存放一个字符。
分析设置两个指向字符的指针变量t和f。先使用循环语句让t指针指向字符串中最后一个字符,而f指针指向字符串中第一个字符;再判断t和f指向的字符是否为“*”,如果为“*”,则t指针自减,f指针自增,直到遇到第一个不是的字符为止。 再定义一个函数fun()用于删除字符串中的“*”号,同时保留字符串前后的“*”号。 下面是完整的代码:
#include
int fun(char *a, char *h, char *p)
{
int i, j; /*删除指针h与p之间的所有“*”*/
for(i=0,j=0; &h[i]
关注
打赏
热门博文
- C语言:求 1! + 2! + 3! + ... + n!(for循环)
- Java:期末编程试题1(及答案)编写一个Car类,具有:属性:品牌(mark)——String类型 功能:驾驶(void drive( ))........
- C语言:for循环(for循环,while 循环:计算1加到100的值)
- 程序人生:初学者中最最最常问的问题都有哪些呢???
- Java:Eclipse下载安装教程,以及Eclipse 安装汉化包的方法
- Java:获取字符串长度(length())
- 计算机网络:第五章运输层课后习题及答案(精细版)
- 计算机网络:第四章网络层课后习题及答案(精细版)
- C语言:while与do while循环语句
- 通俗的理解:什么是编程语言?