问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称: 用指针玩字符串.cpp
*作 者:白云飞
*完成日期:2014年12月15日
*版 本 号:v1.0
*
*问题描述:去除字符串str中的特定字符c,结果仍然保留在原字符串中。
*程序输入:特定字符c
*程序输出:去除特定字符c后的字符串
*/
#include <iostream>
#include <cstdio>
using namespace std;
char *pdelchar(char *str1, const char c);//定义自定义函数
int main()
{
char c,s[50]="Hello world. ";//声明字符型数组
cout <<"输入需要删除的字符:";
c=getchar();
cout<<"删除前:"<<s<<endl;
cout<<"删除后:"<<pdelchar(s,c)<<endl; //调用自定义函数,返回值为char*型,可以直接显示
return 0;
}
char *pdelchar(char *str, const char c)//自定义函数
{
char *p=str,*q=str;//声明字符型指针变量
for(; *q!='\0'; q++)//循环语句
{
if(*q!=c)//判断是否有c出现
*p++=*q;
}
*p='\0';
return (str);
}
运行结果:
学习心得:
指针性变量的for循环语句还是运用的不熟练,没有数组用的顺手。