用数组名作形参
问题及代码
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:辛彬
* 完成日期:2014年 12 月 13 日
* 版 本 号:v1.0
*
* 问题描述: 去掉字符串str中的特定字符c(如空格),结果仍保存在原字符串中(用数组名作形参)。
* 输入描述:没有输入。
* 程序输出:去掉特定字符的字符串;
*/
#include <iostream>
using namespace std;
char *adclchar(char str1[], const char c);
int main()
{
char s1[50]="H e l l o ,w o r l d. ";
char c=' ';
adclchar(s1,c);
cout<<"处理后:"<<s1;
return 0;
}
char *adclchar(char str1[], const char c)
{
int j,t=0;
for(j=0; str1[j]!='\0';)
{
if(str1[j]!=c)
{
str1[t++]=str1[j++];
}
else
j++;
}
str1[t]='\0';
return str1;
}
运行结果:
用指针作形参
问题及代码
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:辛彬
* 完成日期:2014年 12 月 13 日
* 版 本 号:v1.0
*
* 问题描述: 去掉字符串str中的特定字符c(如空格),结果仍保存在原字符串中(用指针作形参)。
* 输入描述:没有输入。
* 程序输出:去掉特定字符的字符串;
*/
#include <iostream>
using namespace std;
char *adclchar(char *str, const char c);
int main()
{
char s1[50]="H e l l o ,w o r l d. ";
char c=' ';
adclchar(s1,c);
cout<<"处理后:"<<s1;
return 0;
}
char *adclchar(char *str, const char c)
{
int j,t=0;
for(j=0; *(str+j)!='\0';)
{
if(*(str+j)!=c)
{
*(str+t)=*(str+j);
t++;
j++;
}
else
j++;
}
str[t]='\0';
return str;
}
运行结果: