一个比较字符串的函数

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

今天解答了一个网友留在blog上的问题,原贴发布在http://blog.csdn.net/edodo/archive/2004/10/12/133870.aspx?Pending=true

现在将答案转贴到我自己的Blog上面

/**

* \titleTest strcm

* \authorAnkyHe

* \authorankyhe@263.net

* \date20041012

*/

#include <iostream>

using namespace std;

//你写的strcm函数

int strcm(const char *str3,const char *str4)

{

for(;*str3==*str4;str3++,str4++)

{

if(!*str3)

return 0;

}

return (*str3-*str4);

}

//测试用的主函数

int main(int,char**)

{

const char str1[] = "Hello";

const char str2[] = "Hello";

const char str3[] = "Hello world!";

const char str4[] = "hello";

cout<<strcm(str1,str2)<<endl;

cout<<strcm(str1,str3)<<endl;

cout<<strcm(str1,str4)<<endl;

cout<<'H'-'h'<<endl;

return 0;

}

//测试结果

/***********************************************************************

0

-32

-32

***********************************************************************/

//分析

/*

实际上,(!*str3)是不是表示str3当前指向的这个char是不是\0,

也就是说str3是不是已经指向了字符串的结尾的\0字符,如果是,就返回0

*str3-*str4是不是表示两个字符内容的ascii码相减。

*/

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航