第8章 指针-2.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 指针-2

* * #include stdio.h void main() {char *str1=hello,str2[6],*p; //① p=str2; //② for(;*str1!=\0;p++,str1++)//③ *p=*str1; //④ *p=\0;//⑤ printf(%s,str2); } str1 p str2 例8-16 比较两个字符串是否相等。 #include stdio.h void main() {char *str1=this,*str2=that; int t=0; for(;*str1!=\0 *str2!=\0;str1++,str2++) if (*str1!=*str2) { t=1; break; } if (t==0) printf(y); else printf(n); } 字符串指针作函数参数 P159 例8-16 比较两个字符串是否相等。 #define L1 100 #define L2 100 #define L L1+L2 #include stdio.h void scat(char *p1,char *p2,char *p) { while (*p1!=\0) *p++=*p1++; while (*p++=*p2++); } 例8-17将两个字符串合并为一个新的字符串。 void main() { char str1[L1],str2[L2],str[L]; gets(str1); gets(str2); scat(str1,str2,str); puts(str); } 例8-18 用函数调用实现字符串复制 (1)用字符数组名作参数 (2)用字符指针变量作参数 a I a m a t e a c e h \0 r . from a b y u a r a s u t n d e to b o e t . \0 I a a e c e h \0 r . t . \0 m t a void cpystr(char from[],char to[]) { int i=0; while(from[i]!=\0) { to[i]=from[i]; i++; } to[i]=\0; } void main() { char a[]=I am a teacher.; char b[]=You are a student.; printf(string_a=%s\n string_b=%s\n,a,b); cpystr(a,b); printf(\nstring_a=%s\nstring_b=%s\n,a,b); } 字符串指针作函数参数 例8-18 用函数调用实现字符串复制 (1)用字符数组名作参数 (2)用字符指针变量作参数 #include stdio.h void cpystr(char *p1,char *p2) { while(*p2++=*p1++); } void main() { char *pa=CHINA,b[10],*pb; pb=b; cpystr(pa,pb); printf(%s,pb); } #includestdio.h void cpystr(char *p1,char *p2) {for(;*p1!=\0;p1++,p2++) *p2=*p1; *p2=\0; } void main() { char *pa=I am a teacher.; char *pb=You are a student.; cpystr(pa,pb); printf(string_pa=%s\nstring_pb=%s\n,pa,pb); } × 字符串常量不能改变 int cpystr( char from[], char to[] ) { while(*to++ = *from++); } × 用字符数组和字符指针实现字符串表示的不同 str由若干元素组成,每个元素放一个字符;而cp中存放字符串首地址 定义方式不同 char str1[]=c program; char *cp=c program; 赋值方式不同。 char str[20]; str=“I love China!”; (?) char *cp; cp=“I love China!”; (?) char *cp; 与 char str[20]; 用字符数组和字符指针实现

您可能关注的文档

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档