课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565
【项目2-用指针玩字符串】神奇的指针哟,指向整型的指针int *p1,可以操作整型数组int a[];指向字符型的指针char *p2,可以操作字符数组(字符串)char str[];指向指针的指针可以操作二维数组。更灵活的是,在函数的传递中,指针、数组名在一定程度上可以互换。
本项目试图通过编制操作字符串的函数,实现字符串的操作。
请编制函数,其功能是对字符串的进行操作
2、
功能:去除字符串str中的特定字符c(如空格),结果仍保存到原字符串中
用数组名作形参:void adelchar(char str[], const char c)
用指针作形参:void pdelchar(char *str, const char c)
参考解答:
//2. 去除字符串str中的特定字符c(如空格),结果仍保存到原字符串中 #include <iostream> #include <string> using namespace std; void adelchar(char str[], const char c); void pdelchar(char *str, const char c); int main(void) { char s[50]="Hello world. "; adelchar(s,'o'); cout<<"\""<<s<<"\"去除 o 后,字符串为:"<<s<<endl; //这个输出有瑕疵,见评论,感谢greenbrowser12 strcpy(s, "my name is tom."); adelchar(s,'m'); cout<<"\""<<s<<"\" 去除 m 后 ,字符串为:"<<s<<endl; return 0; } void adelchar(char str[], const char c) { int i=0,j; for(j=0;str[j]!='\0';j++) { if(str[j]!=c) str[i++]=str[j]; } str[i]='\0'; return; } void pdelchar(char *str, const char c) { char *p=str,*q=str; for(;*q!='\0';q++) { if(*q!=c) *p++=*q; } *p='\0'; return; }