/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者: 霍雨佳
* 完成日期:2013 年12月17日
* 版 本 号:v1.0
* 问题描述:利用指针。
* 样例输入:
* 样例输出:
* 问题分析:用指针作形参,利用函数把str1和str2中的“o”去掉。
*/
#include <iostream> //字符串连接函数实现和测试
using namespace std;
void pdelchar(char *str,const char c);//用指针做形参
int main()
{
char o='o';
char s1[50]="hello world.";
char s2[50]="good morning.";
pdelchar(s1,o); //该处s1前不用加&号,因为s1本身即地址值
pdelchar(s2,o);
cout<<"去除o后:"<<s1<<endl;
cout<<"去除o后:"<<s2<<endl;
return 0;
}
void pdelchar(char *str,const char c)
{
int i,j;
char m[50];
for(i=0,j=0;str[i]!='\0'; i++)
{
if(str[i]!=c)
{
m[j]=str[i];
j++;
}
}
m[j]='\0';//切记!!!
for(j=0,i=0;m[j]!='\0';i++,j++)
{
str[i]=m[j];
}
str[i]='\0';//切记!!!
}
运行结果:
对于指针,地址什么的了解的还是不够透彻,加油!