将一串字符串中的*删除
题目:假定输入的字符串中只包含字母和*号,请编写函数fun,它的功能是:
删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。
例如:字符串中的内容为ABCDEFG******删除后,字符串中的内容应当是:
ABCDEFG。
代码如下所示:
#include<stdio.h>
void fun(char* a) #通过数组名传递参数
{
int j = 0; char* p; #定义一个指针p
p=a; #指针p指向a数组
while (*p!=0) # *p表示a数组中的元素,while判断条件是True,执行循环
{
if (*p != '* ') #判断该元素是否为我们需要删掉的字符
a[j++] = *p;#注意这里不能写成a[j]=* *p;j++表示指向下一个元素的地址,下一个元素才是我们想保留的
p++;#遍历元素的地址
}
a[j] ='\0';#不要忘记字符串的结束标志'\0'
}
void main()
{
char s[81];#传递实参
printf("Enter a string:\n");
gets(s);#从键盘输入一个字符串
fun(s);#调用函数
printf("The string after deleted:\n");
puts(s);#输出最终的字符串
}
输出结果如下所示:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/81559.html