chap08_补充练习_指针.ppt

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

补充练习 例1:阅读源程序,写出运行结果 #include stdio.h void sub(int x, int y, int *z) { *z=y-x;} ? void main( ) { int a,b,c; sub(9,5,a); sub(3,a,b); sub(a,b,c); printf(“%d,%d,%d\n”,a,b,c);} 例6 阅读下列源程序,试说明其功能。 #includestdio.h void main() { int add (int *p , int n); int a[8] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 }; int *p , sum; p = a[0]; sum = add(p,8); printf(“sum=%d\n” , sum); } ? int add (int *p1 , int n) { int i , total = 0; for ( i=0 ; in ; i+=2 , p1+=2) total = total + *p1; return(total); } 示例:int a[10], *p=a; 则: p++ /*p与a[1]等价*/ *p++ /*结合性自右到左,++与*运算级别相同;相当于*(p++),作用是先得到P指向的变量的值(即*P),然后再执行p+1—p */ *(++p) /*先执行p+1—p,再执行*p */ (*p)++ /* 先执行*p,再执行*p的值加1,p值不变*/ 例11:逆序打印字符串 算法: 设字符串为q; 令p指向串尾; 打印字符*p,并将p向前移,直到p指向串首。 例12:编写一个函数判断一个字符串是否为回文(顺读与逆读相同)。 已知:字符串指针变量p(作参数) 结果:是(1)否(0) (返回值) 算法: 1. 令q指向最后一个字符; 2. 若*p==*q,则两指针向里靠拢,直到p=q,则 return 1,否则return 0 例13. 注意使用的区别: char d[10],*q; int x=5,*p=x; 例14 用指向字符串的指针变量实现字符串的输出。 #includestdio.h void main() { char s[]=“VC++ 6.0”,*p; p = s; printf(%s\n,s); printf(%s\n,p); } #includestdio.h void main() { char *s1=“VC++ 6.0; s1+=2; printf(%s\n,s1); } #includestdio.h void main() { char a[20],b[20],*p1,*p2; gets(a); p1 = a; p2 = b; for( ; *p1!= \0; p1++,p2++) *p2 = *p1; *p2 = \0; printf(string a is: %s\n,a); printf(string b is: %s\n,b); } 例17有一行字符,要求删去指定的字符。 #includestdio.h #includestring.h void?delchar(char?*,char?c); int?main(void) { ????char?str[80]; ????char?ch; ????gets(str); ????scanf(%c,ch); ????delchar(str,ch); ????printf(%s\n,str); ????return?0; } 例17(另解)有一行字符,要求删去指定的字符。 #includestdio.h void main() {void del_ch(char *p ,char ch); char s[80] , *pt=s , ch; printf(请输入一个字符串:\n); gets(s); printf(请输入要被删除的字符:\n); scanf(“%c”,ch); del_ch(pt,ch); printf(新的字符串为:\n%s\n,s); } 例18 :阅读下列源程序,请写出运行结果。 ????#includestdio.h void main( ) { char a[

文档评论(0)

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

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

1亿VIP精品文档

相关文档