- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
-*- void strcpy(char* d, char* s)的实现 void strcpy(char* d, char* s) { if ((s==NULL) || (d==NULL)) return ; while(*d++=*s++); } -*- void strcat(char* d, char* s)的实现 void strcat(char* d, char* s) { if ((s==NULL) || (d==NULL)) return ; while ( *d ) d++; while ( *d++ = *s++ ); } -*- int strcmp(const char* s1,const char* s2) int strcmp(const char* s1,const char* s2) { while(*s1++==*s2++) if !(*s1 *s2 ) break; if (*s1*s2) return 1; else if (*s1*s2) return –1; else return 0 } -*- 字符串比较 题目: 已知字符串数组 char *pstr[]={hello,world,come, “go,NULL}; 将字符串按照从小到大的顺序排列。排序算法写成一个函数。 -*- go come world hello 全局数据区 NULL pstr[0] pstr[1] pstr[2] pstr[3] 递增 pstr[4] go come world hello 全局数据区 NULL pstr[2] pstr[3] pstr[0] pstr[1] 递增 pstr[4] -*- void string_sort(char* str[]) { char **p1,**p2; p1=str; p2=str+1; for(int i=0;p1[i+1]!=NULL;i++) { for(int j=i+1;p2[j]!=NULL;j++) if(strcmp(p1[i],p2[j])0) swap(p1[i],p2[j]); } } void swap(char **s1,char **s2) { char *t=*s1; *s1=*s2; *s2=t; } -*- 思考:栈内存的分配 方式1: void B() { int m; } void A() { int n; B(); } void main() { int k; A(); } 方式2 void B() { int m; } void A() { int n; } void main() { int k; A(); B(); } -*- main 操作系统运行状态 返回地址 k A main()运行状态 返回地址 n B A()运行状态 返回地址 m main()运行状态 返回地址 n A 操作系统运行状态 返回地址 k main B main()运行状态 返回地址 m -*- char* strcpy(char* d, const char* s) char* strcpy(char* d, const char* s) { if ((s==NULL) || (d==NULL)) return NULL; char *t = d; while(*t++=*s++); return d; } -*- char* strcat(char* d, const char* s) char* strcat(char* d, const char* s) { if ((s==NULL) || (d==NULL)) return NULL; char *t=d; while ( *t ) t++; while ( *t++ = *s++ ); return d;
文档评论(0)