课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565
【项目2-用指针玩字符串】神奇的指针哟,指向整型的指针int *p1,可以操作整型数组int a[];指向字符型的指针char *p2,可以操作字符数组(字符串)char str[];指向指针的指针可以操作二维数组。更灵活的是,在函数的传递中,指针、数组名在一定程度上可以互换。
本项目试图通过编制操作字符串的函数,实现字符串的操作。
请编制函数,其功能是对字符串的进行操作
7、
功能:比较两个字符串,返回值同strcmp()
用数组名作形参:int astrcmp(const char str1[], const char str2[])
用指针作形参:int pstrcmp(const char *str1, const char *str2)
参考解答:
//7. 比较两个字符串,返回值同strcmp() #include <iostream> #include <iomanip> using namespace std; //int astrcmp(char str1[], char str2[]); //自行实现 int pstrcmp(char *str1, char *str2); int main(void) { char *s[81]={"Tudou","Shanyaodan","Yangyu","Malingshu"}; int i=0,j=0; cout<<"土豆大PK:"<<endl; cout<<setw(12)<<" "; for(;i<4;i++) { cout<<setw(12)<<s[i]; } cout<<endl; for(i=0;i<4;i++) { cout<<setw(12)<<s[i]; for(j=0;j<4;j++) { cout<<setw(12)<<pstrcmp(s[i],s[j]); } cout<<endl; } return 0; } //str>str2,返回1 //str==str2,返回0 //str<str2,返回-1 int pstrcmp(char *str1, char *str2) { char *p=str1,*q=str2; while(*p==*q&&*p!='\0'&&*q!='\0') { p++; q++; } if (*p>*q) return 1; else if(*p<*q) return -1; else return 0; }