第16周上机实践项目二——用指针玩字符串(5)
第16周上机实践项目2——用指针玩字符串(5)
运行结果:
运行结果:
用数组名作形参
问题及代码
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:辛彬 * 完成日期:2014年 12 月 14 日 * 版 本 号:v1.0 * * 问题描述: 除去句子中第一个单词前的空格(用数组名作形参)。 * 输入描述:没有输入。 * 程序输出:处理后的数组; */ #include <iostream> using namespace std; char *ptrim(char str[]); int main() { char s1[50]=" hello,world."; cout<<"处理后为"<<ptrim(s1); return 0; } char *ptrim(char str[]) { int i,t=0,j,m; for(m=0;str[m]!='\0';m++) for(i=0;str[i]!='\0';i++) { if(str[i]==' ') break; } for(j=i+1;str[t]!='\0';) str[t++]=str[j++]; return str; }
运行结果:
用指针作形参
问题及代码
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:辛彬 * 完成日期:2014年 12 月 14 日 * 版 本 号:v1.0 * * 问题描述: 除去句子中第一个单词前的空格(用指针作形参)。 * 输入描述:没有输入。 * 程序输出:处理后的数组; */ #include <iostream> using namespace std; char *ptrim(char *str); int main() { char s1[50]=" hello,world."; cout<<"处理后为"<<ptrim(s1); return 0; } char *ptrim(char *str) { int i,t=0,j; for(i=0;*(str+i)!='\0';i++) { if(*(str+i)==' ') break; } for(j=i+1;str[t]!='\0';) str[t++]=str[j++]; return str; }
运行结果:
学习感悟:之前输出的时候一直多一个句号,后来才想到是用一个数组操作的后果,还好改回来了。