C语言 编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的*号全部删除。

做了一个C语言助教,在给本科生上课之前没有看有关指针的知识,又因为太久没用,导致上课过程中频频出现尴尬。现在总结上课遇到的一个题目:

题目:规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的*号全部删除。形参h已指向字符串中第一个字母,形参p指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。


代码如下:

#include <stdio.h>
#include <conio.h>

void  fun( char *a, char *h,char *p )
{
	int i=0; 
	char *k=a; 

	while (k<h)
	{
		a[i]=*k; 
		k++; 
		i++; 
	}

	while(k<p)
	{
		if(*k!='*')
	{
			a[i]=*k; 
			i++; 
	}
		k++; 
	}

	while (*k)
	{
		a[i]=*k; 
		i++; 
		k++; 
	}
	a[i]='\0'; 
}

main()
{   char  s[81],*t, *f;
	int i,j;
    printf("Enter a string:\n");
    gets(s);
    t=f=s;
    t=f=s;
    while(*t)t++;
    t--;
    while(*t=='*')t--;
    while(*f=='*')f++;
    fun(s, f, t);
    printf("The string after deleted:\n");
    puts(s);
}

将字符串分为三个部分:前导、中间、尾部。


  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值